नियंत्रण प्रक्रिया सीपीयू उपयोग अच्छा और cpulimit के साथ [लिनक्स]
कोई फर्क नहीं पड़ता कि आपकी लिनक्स मशीन कितनी तेज़ी से है, हमेशा कुछ ऐसे कार्य होंगे जो बहुत सारे CPU समय का उपभोग करते हैं। गणितीय मॉडल चलाने के लिए वीडियो एन्कोडिंग से सबकुछ सीपीयू को 100% पर चला सकता है। यह ठीक है अगर मशीन कुछ और नहीं कर रही है। लेकिन यदि यह आपका मुख्य डेस्कटॉप है या इसे सर्वर के रूप में उपयोग किया जाता है, तो एक ऐसा कार्य चलाएं जो आपके सीपीयू को अधिकतम करता है, मशीन को सुस्त और उपयोग करने में कठोर बना देगा। मल्टीटास्किंग ऑपरेटिंग सिस्टम की सुंदरता यह है कि मशीन स्थिर नहीं होगी क्योंकि यह हमेशा अन्य कार्यों के लिए सीपीयू समय निर्धारित करेगी और डेस्कटॉप जैसी चीजें अभी भी काम करेगी, लेकिन बहुत धीमी है। शेड्यूलर को यह जानने का कोई तरीका नहीं है कि आप सीपीयू गहन कार्य को कम प्राथमिकता पर चलाने या अपने CPU समय को सीमित करने के लिए चाहते हैं। हालांकि कुछ संसाधन हैं जिनका उपयोग इन संसाधन भूख कार्यों के लिए प्रक्रिया सीपीयू उपयोग को नियंत्रित करने के लिए किया जा सकता है।
एक सीपीयू गहन कार्य का अनुकरण करने के लिए, हम matho-prime
नामक टूल का उपयोग कर सकते हैं जो प्राइम संख्याओं की एक सूची उत्पन्न करता है। यदि आप इसे एक बड़ी पर्याप्त सूची उत्पन्न करने के लिए कहते हैं तो यह काम करते समय CPU को अधिकतम कर देगा। उबंटू या रास्पबेरी पीआई पर matho-prime
को स्थापित करने के लिए:
sudo apt-mathomatic-primes स्थापित करें
चलो बस कार्य शुरू करें और सीपीयू उपयोग देखें:
गणित-प्राइम्स 0 99 99 99 99 99> p.txt &
यह matho-primes
को शून्य से नौ अरब नौ सौ नौ सौ नौ मिलियन नौ सौ नब्बे नौ हजार नौ सौ नब्बे नौ के प्राइम की सूची उत्पन्न करने के लिए बताता है! आउटपुट फ़ाइल p.txt
रीडायरेक्ट किया गया है। अंत में एम्पर्सेंड शैल को पृष्ठभूमि में प्रोग्राम चलाने के लिए बताता है जिसका अर्थ है कि आप कार्य शुरू करने के बाद सीधे कमांड प्रॉम्प्ट पर लौट आए हैं।
अब top
कमांड चलाएं और प्राइम नंबर जनरेटर द्वारा उपयोग की जाने वाली सीपीयू की मात्रा देखें।
अब चलो उस कार्य को मार दें और देखें कि हम इसे कम प्राथमिकता पर कैसे लॉन्च कर सकते हैं। q
दबाकर top
से बाहर निकलें, फिर अग्रभूमि में matho-primes
लाने के लिए fg
टाइप करें और फिर प्रोग्राम को बाहर निकलने के लिए "Ctrl + C" दबाएं।
अब प्रोग्राम को दोबारा शुरू करें लेकिन कमांड की शुरुआत में शब्द को nice
जोड़ें:
अच्छा मैथो-प्राइम्स 0 99 99 99 99 99> p.txt &
nice
एक ऐसा टूल है जो लिनक्स को इस कार्य को कम प्राथमिकता पर शेड्यूल करने के लिए कहता है। अच्छीता -20 (सबसे अनुकूल शेड्यूलिंग) से लेकर 19 तक (कम से कम अनुकूल) है। डिफ़ॉल्ट रूप से nice
कार्य को 10 की अच्छीता के साथ शेड्यूल करेगा। डिफ़ॉल्ट रूप से सामान्य कार्य शून्य की एक अच्छीता के साथ शुरू होते हैं। इसका मतलब है कि 10 की अच्छीता वाला कार्य कम प्राथमिकता के रूप में देखा जाएगा और इसे अक्सर CPU संसाधन दिए जाएंगे।
अब हम इन मशीनों पर आपके द्वारा किए जाने वाले अन्य कार्यों को अनुकरण करने के लिए इन प्राइम नंबर जेनरेटर में से एक दूसरा शुरू कर सकते हैं (जैसे वेब ब्राउज़िंग या दस्तावेज़ लिखना)। प्राइम नंबर जेनरेटर चलाने से डेस्कटॉप का उपयोग करने की वजह से इसका सामान्य सामान्यता होना चाहिए।
मैथो-प्राइम्स 0 99 99 99 99 99> पी 2.txt &
ध्यान दें कि इस फ़ाइल का आउटपुट p2.txt
रीडायरेक्ट किया p2.txt
। top
से आउटपुट इस तरह कुछ दिखाई देगा:
जैसा कि आप देख सकते हैं, उच्च शुद्धता वाली प्रक्रिया कम CPU समय प्राप्त करती है। इसका मतलब यह है कि यदि आप एक सीपीयू गहन कार्य को nice
लॉन्च करते हैं, तो यह आपकी मशीन को सुस्त महसूस नहीं करेगा या इसे धीरे-धीरे प्रतिक्रिया देने का कारण नहीं देगा।
cpulimit
शेड्यूलिंग प्राथमिकता को बदलने के बजाए "cpulimit" नामक एक और आदेश है, यह अस्थायी रूप से यह सुनिश्चित करने के लिए एक प्रक्रिया को रोकता है कि यह वांछित CPU उपयोग से अधिक न हो।
इसे स्थापित करने के लिए टाइप करें:
sudo apt-cpulimit स्थापित करें
अब सीपीयू गहन प्राइम नंबर जेनरेटर को फिर से चलाएं और इस कमांड का उपयोग करके अपने पीआईडी नंबर को नोट करें:
पीएस | grep matho-prim
आउटपुट का पहला कॉलम पीआईडी है। अब इस प्रक्रिया के सीपीयू उपयोग को इस तरह सीमित करें:
sudo cpulimit -b -l 50 -p 16299
जहां 1629 9 matho-primes
प्रक्रिया का पीआईडी है। top
साथ एक नज़र इस तरह कुछ दिखाएगा:
आगे बढ़ते हुए
nice
नाम के लिए एक साथी कमांड है जो एक मौजूदा प्रक्रिया की सुंदरता को बदल देगा। एक प्रक्रिया के पीआईडी प्राप्त करने के लिए grep
साथ top
या ps
उपयोग करने का प्रयास करें और सबसे कम renice +19 16299
को प्राथमिकता निर्धारित करने के लिए renice +19 16299
उपयोग करें (जहां 1629 9 प्रक्रिया का पीआईडी है)।
नीचे टिप्पणी में चर्चा में शामिल होने के लिए स्वतंत्र महसूस करें।