क्या मैं किसी एक एप्लिकेशन के CPU उपयोग को सीमित कर सकता हूं?


जवाबों:


16

बस cpulimit के विकल्प के रूप में:

आप अच्छी-कमान के साथ क्लैमस्कैन शुरू कर सकते हैं, जैसे

nice -n 19 clamscan

man niceविवरण के लिए देखें।

यह सीपीयू को सीमित नहीं करता है , लेकिन यह प्रक्रिया की प्राथमिकता को कम करता है।

इसके अलावा reniceचल रही प्रक्रियाओं की प्राथमिकता को बदलना है।


2
ऐसा लगता है कि यह अभी भी सीपीयू का एक बहुत खा काम करता है ...
Pitto

4
जब तक किसी अन्य प्रक्रिया को क्रिप्टाइम की आवश्यकता नहीं होती है, तब तक क्लैमस्कैन को बहुत कुछ मिलता है। लेकिन जैसे ही एक अन्य प्रक्रिया (जिसकी उच्च प्राथमिकता होती है) को क्रिप्टाइम की आवश्यकता होती है, क्लैमस्कैन के पास कोई मौका नहीं होता है। cpulimit पूर्ण विवादास्पद को सीमित करता है, और अच्छी सीमा सापेक्ष विच्छेदन को सीमित करता है।
क्लॉसी

2
+1। niceआईएनजी जाने के लिए पारंपरिक तरीका है, और अच्छे कारण के लिए।
लोवेबॉर्ग

क्या किसी विशेष एप्लिकेशन के साथ चलने के लिए डिफ़ॉल्ट अच्छा मूल्य निर्धारित करने के लिए कोई उपकरण हैं? अधिमानतः एक उपकरण जो आपको अपने सभी प्रीसेट को साइड-बाय-साइड तुलना करने देता है।
जॉनी असमर

19

Cpulimit स्थापित करें

sudo apt-get install cpulimit

यह fooकहने की प्रक्रिया के CPU उपयोग को सीमित करने के विभिन्न तरीके प्रदान करता है , 20%

  • इसके प्रक्रिया-नाम से sudo cpulimit -e foo -l 20:।

  • इसके पूर्ण पथ नाम से: sudo cpulimit -P /usr/bin/foo -l 20

  • इसके पीआईडी ​​द्वारा:

    1. प्रक्रिया के पीआईडी खोजें: pidof foo। (कहते हैं, यह 1881 आउटपुट)
    2. sudo cpulimit -p 1881 -l 20

कोई लक्ष्य प्रक्रिया नहीं मिली ... शायद यह इसलिए है क्योंकि मेरे पास क्लैमस्कैन चलाने के लिए एक स्क्रिप्ट है? i do: सुडो cpulimit -e /etc/cron.hourly/virusscan -l 15
Pitto

@ पिट्टो: आपने एक गलत कमांड दर्ज किया है, /etc/cron.hourly/virusscanएक प्रक्रिया नहीं है। यदि आपको सीमित करने की आवश्यकता है clamscan, तो चलाएं sudo cpulimit -e clamscan -l 15
सिड

ओह! सही! तो मुझे r.local में स्टार्टअप पर cpulimit शुरू करना चाहिए, है ना?
Pitto

2
sudoआवश्यक नहीं है प्रक्रिया एक सिस्टम प्रक्रिया नहीं है। नोट के रूप में
अनवर

यह एक बहुत साफ समाधान होगा अगर प्रोग्रामेटिक रूप से उपयोग किया जाता है! क्या यह पैटर्न-आधारित खोजों का समर्थन करता है?
जॉनी असमर

4

यह क्लॉसी के उत्तर पर एक टिप्पणी होने वाली थी (जो मुझे लगता है कि सिस्टम प्रशासन के दृष्टिकोण से सबसे "सही" है, मेरी राय में) लेकिन यह कमेंट बॉक्स में फिट होने के लिए कुछ बड़ा हो गया।

  • Clamscan के पास एक निश्चित मात्रा में काम करने के लिए इसे एक निश्चित गति तक सीमित करने का मतलब है कि यह बस अधिक समय लेने वाला है। यह सीपीयू को अधिक समय तक विवाद में रखने वाला है।

  • इसे जितनी तेजी से चलाने की अनुमति दें इसका मतलब है कि आप अपने सीपीयू को इसके पूर्ण रूप से उपयोग कर सकते हैं। इसे बहुत "अच्छा" बनाने का मतलब है कि यह अन्य प्रक्रियाओं को अपने काम से पहले कर देगा। इसका मतलब है कि अगर बहुत सारी अन्य व्यस्त प्रक्रियाएँ हैं, हाँ, अपना काम करने में लंबा समय लगेगा, लेकिन अगर वहाँ पर कुछ भी नहीं है, तो यह सिर्फ अपने काम के बोझ के माध्यम से चलेगा।


3

यदि आप सिस्टमड के साथ क्लैम्ड चला रहे हैं, तो आप CPUQuotaविकल्प का उपयोग कर सकते हैं ।

/lib/systemd/system/clamav-daemon.serviceइस पंक्ति को [Service]अनुभाग में शामिल करने के लिए संपादित करें :

CPUQuota=20%

फिर सेवा को पुनरारंभ करें

sudo systemctl daemon-reload
sudo systemctl reload-or-restart clamav-daemon

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.