CPULimit, सीपीयू की एक प्रक्रिया के उपयोग को सीमित करता है

CPULimit के बारे में

अगले लेख में हम 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'। अब हम निम्नलिखित पंक्तियों को जोड़ने जा रहे हैं:

vim script splurgecpu

#!/bin/bash
while :; do :; done;

ऐसा किए जाने के साथ, इसे बचाने और बाहर निकलने का समय है। ऐसा करने के लिए हम 'की' दबाएंगेईएससी'और हम लिखेंगे : wq फ़ाइल को सहेजने और बंद करने के लिए। यह लघु स्क्रिप्ट अधिकतम सीपीयू उपयोग के बिना रुकावट दोहराएगी। इसलिए, इसे एक आभासी मशीन में परीक्षण करने की सिफारिश की जाती है।

अब हम इस फाइल को निष्पादन योग्य बनाने जा रहे हैं। ऐसा करने के लिए, उसी टर्मिनल (Ctrl + Alt + T) से हम निष्पादित करेंगे:

chmod +x derrochecpu.sh

स्क्रिप्ट लॉन्च कर रहा हूं

अब हम प्रक्रिया को पृष्ठभूमि में लॉन्च करेंगे। हम कमांड का उपयोग करके ऐसा करेंगे:

./derrochecpu.sh &

पीआईडी ​​स्क्रिप्ट स्प्लार्जपीसीयू

हम प्रक्रिया का पीआईडी ​​रखने जा रहे हैं। इस मामले में, 6472 लॉन्च की गई प्रक्रिया का पीआईडी ​​है।

सीपीयू कितनी खपत करता है इसकी जाँच की जा रही है

हम सीपीयू की मात्रा देख सकते हैं कि जिस प्रक्रिया को हमने अभी लॉन्च किया है, उसका उपयोग करके आदेश «शीर्ष» उसी टर्मिनल में:

शीर्ष पटकथा splurgeCPU

top

जैसा कि ऊपर स्क्रीनशॉट में देखा जा सकता है, wastecpu.sh प्रक्रिया 96% से अधिक CPU उपयोग की खपत करती है। चूंकि यह बहुत सारे सीपीयू उपयोग करता है, इसलिए अन्य कार्यों को निष्पादित करना मुश्किल है। कुछ मिनटों बाद, सिस्टम क्रैश या फ्रीज हो सकता है। यह वह जगह है जहाँ CPULimt हमारी सहायता के लिए आता है।

पीआईडी ​​द्वारा सीपीयू उपयोग को सीमित करना

अब, सीपीयूलिमिट टूल का उपयोग करके इस प्रक्रिया के CPU उपयोग को सीमित करें। हम जा रहे हैं सीपीयू के उपयोग को इसके संबंधित पीआईडी ​​के माध्यम से 35% तक सीमित करें (के बारे में)। ऐसा करने के लिए, चलाएं:

cpulimit -l 35 -p 6472 &
  • विकल्प "-एल 35»प्रक्रिया को लगभग 35% तक सीमित करता है।
  • «-पी 6472»Derrochecpu.sh की पीआईडी ​​है जिसे हमने पहले देखा है।

CPULimit के प्रभाव की जाँच करना

एक बार पिछली कमांड लॉन्च हो जाने के बाद, प्रक्रिया के CPU उपयोग को फिर से जांचें। इसके लिए हम शीर्ष कमांड का फिर से उपयोग करेंगे:

शीर्ष स्क्रिप्ट CPULimit स्क्वैंडरिंग

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

इस लेख में क्या वर्णन किया गया है यह सिर्फ एक उदाहरण है। जाहिर है, उनके दाहिने दिमाग में कोई भी अपने कंप्यूटर पर यहां वर्णित की तरह एक स्क्रिप्ट लॉन्च नहीं करेगा।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   जावपी कहा

    हाय
    यह एक पुराने पीसी के लिए एकदम सही है जो मेरे पास एक amd64 x2 के साथ है जो एक शीतलन समस्या है और जब एक प्रक्रिया कई मिनटों के लिए बहुत सी सीपीयू की खपत करती है, तो यह 100º सी तक गर्म होता है और नीचे बन्द हो जाता है।
    इस प्रकार, जब मैं देखता हूं कि एक प्रक्रिया (आम तौर पर कुछ वेबसाइट या वीडियो रेंडरिंग प्रोग्राम) मुझे सीपीयू का तापमान बढ़ाने के लिए बना रहा है, तो मैं उस प्रक्रिया से "पावर" को हटाने के लिए cpulimit का उपयोग करूंगा।
    धन्यवाद