अगले लेख में हम CPULimit पर एक नज़र डालने जा रहे हैं। यह एक कमांड लाइन टूल है जो एक प्रक्रिया द्वारा CPU उपयोग को सीमित करता है (प्रतिशत में व्यक्त किया जाता है, CPU समय नहीं)। यह बैच की नौकरियों को नियंत्रित करने के लिए उपयोगी होगा, जब हम बहुत अधिक सीपीयू चक्रों का उपभोग करने के लिए एक प्रक्रिया नहीं चाहते हैं।
इस उपकरण के उपयोग के साथ हम मूल्य या अन्य प्राथमिकता सेटिंग्स को बदलने नहीं जा रहे हैं, लेकिन सीपीयू का वास्तविक उपयोग। इसके अलावा, यह गतिशील और जल्दी से सिस्टम के सामान्य भार के अनुकूल होने में सक्षम है। सीपीयू की मात्रा का नियंत्रण भेजने से किया जाता है संकेत सिगस्टॉप y सिगकॉन्ट POSIX प्रक्रियाओं के लिए। सभी बच्चे प्रक्रियाएं और निर्दिष्ट प्रक्रिया के धागे एक ही सीपीयू प्रतिशत साझा करेंगे।
CPULimit स्थापित करें
CPULimit है यूनिक्स जैसे वितरण के अधिकांश डिफ़ॉल्ट रिपॉजिटरी में उपलब्ध है। हम संबंधित Gnu / Linux वितरण में डिफ़ॉल्ट पैकेज प्रबंधकों का उपयोग करके इसे स्थापित कर सकते हैं। उदाहरण के लिए, हम देखेंगे कि इसे डेबियन, उबंटू और लिनक्स मिंट पर कैसे स्थापित किया जाए। हमें केवल एक टर्मिनल (Ctrl + Alt + T) खोलना होगा और उसमें निम्नलिखित कमांड लिखनी होगी:
sudo apt-get install cpulimit
जो कोई भी अन्य प्रकार की सुविधाओं से परामर्श कर सकता है GitHub पेज को प्रोजेक्ट करें.
CPULimit का उपयोग करना
उपकरण स्थापित होने के बाद, यह देखने का समय है कि यह कैसे काम करता है। ऐसा करने के लिए, हम एक प्रोग्राम चलाने जा रहे हैं जिसमें बहुत सारे सीपीयू संसाधनों की खपत होती है। रूट उपयोगकर्ता के रूप में निम्न आदेश चलना चाहिए।
सीपीयू संसाधनों की खपत करने वाली स्क्रिप्ट बनाना
पहले हम जा रहे हैं derrochecpu.sh नामक एक फ़ाइल बनाएँ। मैं का उपयोग करने जा रहा हूँ विम संपादक, लेकिन सभी को अपनी पसंद का उपयोग करने दें। टर्मिनल से (Ctrl + Alt + T) हमें लिखना होगा:
vim derrochecpu.sh
खुलते ही हम 'की' दबाएंगेईएससी' और फिर 'i'। अब हम निम्नलिखित पंक्तियों को जोड़ने जा रहे हैं:
#!/bin/bash while :; do :; done;
ऐसा किए जाने के साथ, इसे बचाने और बाहर निकलने का समय है। ऐसा करने के लिए हम 'की' दबाएंगेईएससी'और हम लिखेंगे : wq फ़ाइल को सहेजने और बंद करने के लिए। यह लघु स्क्रिप्ट अधिकतम सीपीयू उपयोग के बिना रुकावट दोहराएगी। इसलिए, इसे एक आभासी मशीन में परीक्षण करने की सिफारिश की जाती है।
अब हम इस फाइल को निष्पादन योग्य बनाने जा रहे हैं। ऐसा करने के लिए, उसी टर्मिनल (Ctrl + Alt + T) से हम निष्पादित करेंगे:
chmod +x derrochecpu.sh
स्क्रिप्ट लॉन्च कर रहा हूं
अब हम प्रक्रिया को पृष्ठभूमि में लॉन्च करेंगे। हम कमांड का उपयोग करके ऐसा करेंगे:
./derrochecpu.sh &
हम प्रक्रिया का पीआईडी रखने जा रहे हैं। इस मामले में, 6472 लॉन्च की गई प्रक्रिया का पीआईडी है।
सीपीयू कितनी खपत करता है इसकी जाँच की जा रही है
हम सीपीयू की मात्रा देख सकते हैं कि जिस प्रक्रिया को हमने अभी लॉन्च किया है, उसका उपयोग करके आदेश «शीर्ष» उसी टर्मिनल में:
top
जैसा कि ऊपर स्क्रीनशॉट में देखा जा सकता है, wastecpu.sh प्रक्रिया 96% से अधिक CPU उपयोग की खपत करती है। चूंकि यह बहुत सारे सीपीयू उपयोग करता है, इसलिए अन्य कार्यों को निष्पादित करना मुश्किल है। कुछ मिनटों बाद, सिस्टम क्रैश या फ्रीज हो सकता है। यह वह जगह है जहाँ CPULimt हमारी सहायता के लिए आता है।
पीआईडी द्वारा सीपीयू उपयोग को सीमित करना
अब, सीपीयूलिमिट टूल का उपयोग करके इस प्रक्रिया के CPU उपयोग को सीमित करें। हम जा रहे हैं सीपीयू के उपयोग को इसके संबंधित पीआईडी के माध्यम से 35% तक सीमित करें (के बारे में)। ऐसा करने के लिए, चलाएं:
cpulimit -l 35 -p 6472 &
- विकल्प "-एल 35»प्रक्रिया को लगभग 35% तक सीमित करता है।
- «-पी 6472»Derrochecpu.sh की पीआईडी है जिसे हमने पहले देखा है।
CPULimit के प्रभाव की जाँच करना
एक बार पिछली कमांड लॉन्च हो जाने के बाद, प्रक्रिया के CPU उपयोग को फिर से जांचें। इसके लिए हम शीर्ष कमांड का फिर से उपयोग करेंगे:
top
जैसा कि आप ऊपर की छवि में देख सकते हैं, बेकार का CPU उपयोग 35,6.% हो गया है, जो 35% के बहुत करीब है। अब हां अन्य प्रक्रियाओं को चलाने के लिए हमारे पास अधिक CPU संसाधन हो सकते हैं.
फ़ाइलनाम द्वारा CPU उपयोग को सीमित करना
हमने देखा है कि पीआईडी का उपयोग करके किसी प्रक्रिया को कैसे सीमित किया जाए। बहुत हम निष्पादन योग्य प्रोग्राम फ़ाइल के नाम को निर्दिष्ट करते हुए CPULimit कमांड निष्पादित कर सकते हैं.
उदाहरण के लिए, उपरोक्त उदाहरण वही होगा:
cpulimit -l 30 ./derrochecpu.sh &
CPULimit एक प्रक्रिया को चलाने के लिए उपयोगी हो सकता है जो बहुत अधिक CPU उपयोग का उपभोग कर रहा है। अगली बार जब हम देखते हैं कि कोई प्रोग्राम बहुत अधिक CPU खपत करता है, तो हमें बस कमांड का उपयोग करके प्रक्रिया का PID खोजना होगा ...ऊपर का«। जब आपके पास यह होता है, तो आपको बस इस लेख में वर्णित सीपीयूलिमिट कमांड का उपयोग करके अपने सीपीयू उपयोग को न्यूनतम मूल्य तक सीमित करना होगा।
CPULimit की स्थापना रद्द करें
हमारे सिस्टम से इस टूल को हटाना एक टर्मिनल खोलने (Ctrl + Alt + T) के रूप में सरल है और इसमें टाइप करना है:
sudo apt remove cpulimit
इस लेख में क्या वर्णन किया गया है यह सिर्फ एक उदाहरण है। जाहिर है, उनके दाहिने दिमाग में कोई भी अपने कंप्यूटर पर यहां वर्णित की तरह एक स्क्रिप्ट लॉन्च नहीं करेगा।
हाय
यह एक पुराने पीसी के लिए एकदम सही है जो मेरे पास एक amd64 x2 के साथ है जो एक शीतलन समस्या है और जब एक प्रक्रिया कई मिनटों के लिए बहुत सी सीपीयू की खपत करती है, तो यह 100º सी तक गर्म होता है और नीचे बन्द हो जाता है।
इस प्रकार, जब मैं देखता हूं कि एक प्रक्रिया (आम तौर पर कुछ वेबसाइट या वीडियो रेंडरिंग प्रोग्राम) मुझे सीपीयू का तापमान बढ़ाने के लिए बना रहा है, तो मैं उस प्रक्रिया से "पावर" को हटाने के लिए cpulimit का उपयोग करूंगा।
धन्यवाद