लिनक्स में किसी भी प्रक्रिया के सीपीयू उपयोग को सीमित कैसे करें
क्या आपने कभी ऐसी परिस्थिति का अनुभव किया है जहां आप एक विशेष एप्लिकेशन (जैसे फ़ायरफ़ॉक्स) खोलते हैं और यह पूरे सिस्टम को स्टैंडस्टिल पर लाता है? यदि आप एक वेब सर्वर चला रहे हैं, तो आखिरी चीज जिसे आप देखना चाहते हैं, यह है कि एक आवेदन पूरे सिस्टम को दुर्घटनाग्रस्त कर देता है और सभी वेबसाइटों को नीचे लाता है।
Cpulimit लिनक्स के लिए एक आवेदन है जो एक प्रक्रिया के सीपीयू उपयोग को सीमित कर सकता है। यह उपयोगी है अगर आप किसी विशेष एप्लिकेशन को बहुत अधिक CPU संसाधनों को लेने से रोकना चाहते हैं और इस प्रकार सिस्टम को क्रैश कर रहे हैं। यह तब भी उपयोगी हो सकता है जब आपको कई गहन कार्यक्रमों को एक साथ चलाने की आवश्यकता होती है।
नोट : cpulimit सभी लिनक्स distro के लिए काम करना चाहिए। इस ट्यूटोरियल में, हम चित्रण के लिए उबंटू का उपयोग करेंगे।
स्थापना
उबंटू में, आप उबंटू सॉफ्टवेयर सेंटर के माध्यम से cpulimit इंस्टॉल कर सकते हैं, स्थापित करने के लिए यहां क्लिक करें, या टर्मिनल में निम्न आदेश टाइप करें:
sudo apt-cpulimit स्थापित करें
प्रयोग
प्रक्रिया को प्रतिबंधित करने के लिए, कमांड का उपयोग करें
sudo cpulimit -p पीआईडी -एल सीपीयू%
पीआईडी चल रहे एप्लिकेशन की प्रक्रिया आईडी है और सीपीयू% ऐप के लिए अनुमत CPU संसाधनों का प्रतिशत (0-100, संख्या केवल) है। आप सिस्टम -> प्रशासन -> सिस्टम मॉनीटर से पीआईडी प्राप्त कर सकते हैं।
उपरोक्त स्क्रीनशॉट से, आप देख सकते हैं कि सीपीयू सीमा सेट होने से पहले स्विफ्टफॉक्स एप्लिकेशन (फ़ायरफ़ॉक्स का एक संस्करण) CPU संसाधनों का 68% लेता है। चलो देखते हैं कि जब हम CPU उपयोग को 20% तक सीमित करते हैं तो क्या होता है।
% सीपीयू तुरंत 20% से नीचे गिर गया और कभी भी 20% निशान पार नहीं किया।
Cpulimit विस्तार - पूरी प्रक्रिया स्वचालित
Cpulimit उपयोगी होता है जब आप ऐसे अनुप्रयोग का सामना करते हैं जो बहुत से CPU संसाधनों को लेता है, या बैच नौकरी करने की आवश्यकता होती है। इसके अलावा, आप इसे किसी भी गलत व्यवहार अनुप्रयोग के लिए सिस्टम की निगरानी के लिए भी सेट अप कर सकते हैं। यह सर्वर सेटअप में विशेष रूप से उपयोगी है।
उबंटू फोरम से एब्यूसर एक महान स्क्रिप्ट के साथ आया है जो आपके सिस्टम की निगरानी को स्वचालित करता है और प्रीसेट सीपीयू सीमा से अधिक किसी भी प्रक्रिया को प्रतिबंधित करता है। स्क्रिप्ट आपको विशिष्ट अनुप्रयोगों के लिए ब्लैकलिस्ट / श्वेतसूची सेट करने की अनुमति भी देती है।
शुरू करने से पहले, सुनिश्चित करें कि आपके पास cpulimit और gawk इंस्टॉल है।
sudo apt-cpulimit gawk स्थापित करें
यहां स्क्रिप्ट डाउनलोड करें। अपने होम फ़ोल्डर में टैर फ़ाइल निकालें। आपके पास cpulimit फ़ोल्डर के अंदर दो फाइलें होनी चाहिए: cpulimit_daemon.sh और cpulimit ।
अपने टेक्स्ट एडिटर (gEdit) में cpulimit_daemon.sh फ़ाइल खोलें और निम्न को बदलें:
CPU_LIMIT : यह प्रत्येक एप्लिकेशन के लिए उपलब्ध अधिकतम CPU संसाधन है। डिफ़ॉल्ट मान 20% है।
DAEMON_INTERVAL : यह सिस्टम की जांच करने के लिए स्क्रिप्ट के लिए अंतराल है। डिफ़ॉल्ट 3 सेकंड पर सेट है।
BLACK_PROCESS_LIST : इसमें उन वस्तुओं की सूची शामिल है जो विशेष रूप से निगरानी करना चाहते हैं। आप कई प्रक्रियाओं को शामिल करने के लिए "|" डिलीमीटर का उपयोग कर सकते हैं। उदाहरण के लिए, " mysql|firefox|gedit
"।
WHITE_PROCESSES_LIST : इसमें उन आइटम्स की सूची शामिल है जिन्हें आप मॉनिटर करना नहीं चाहते हैं। आप कई प्रक्रियाओं को शामिल करने के लिए "|" डिलीमीटर का उपयोग कर सकते हैं। उदाहरण के लिए, " mysql|firefox|gedit
"।
नोट : एक या दोनों चर BLACK_PROCESSES_LIST और WHITE_PROCESSES_LIST को खाली होना है। आपके पास एक ही समय में एक ब्लैकलिस्ट और श्वेतसूची नहीं हो सकती है।
की स्थापना
Cpulimit_daemon.sh फ़ाइल को / usr / bin / फ़ोल्डर में कॉपी करें
सुडो सीपी ~ / cpulimit / cpulimit_daemon.sh / usr / bin sudo chmod 700 /usr/bin/cpulimit_daemon.sh
Cpulimit फ़ाइल को /etc/init.d/folder पर कॉपी करें, आवश्यक अनुमति सेट करें और इसे statup के दौरान चलाएं।
sudo cp ~ / cpulimit / cpulimit /etc/init.d/ sudo chown root: root /etc/init.d/cpulimit sudo chmod + x /etc/init.d/cpulimit sudo update-rc.d cpulimit डिफ़ॉल्ट
अब, अपने सिस्टम को रीबूट करें। Cpulimit डिमन स्वचालित रूप से शुरू होना चाहिए।
आप टर्मिनल खोल सकते हैं और टाइप कर सकते हैं:
सुडो सेवा cpulimit स्थिति
यह जांचने के लिए कि cpulimit डिमन चल रहा है या नहीं। यदि यह नहीं चल रहा है, तो इसे कमांड के साथ शुरू करें
सुडो सेवा cpulimit शुरू करें
वैकल्पिक रूप से, इसे रोकें:
सुडो सेवा cpulimit बंद करो
की स्थापना रद्द
अनइंस्टॉल करने के लिए, आपको यह करने की आवश्यकता है:
1. cpulimit डेमॉन बंद करो
sudo सेवा cpulimit stop # cpulimit डेमॉन और सभी cululimited प्रक्रियाओं को रोकें
2. बूट-अप प्रक्रिया से डेमॉन निकालें
sudo अद्यतन-rc.d -f cpulimit हटाएं # प्रतीकात्मक लिंक निकालें
3. बूट-अप प्रक्रिया हटाएं
sudo rm /etc/init.d/cpulimit # cpulimit बूट-अप स्क्रिप्ट हटाएं
4. cpulimit डेमॉन हटाएं
sudo rm /usr/bin/cpulimit_daemon.sh # cpulimit डेमॉन स्क्रिप्ट हटाएं
5. अनइंस्टॉल cpulimit कार्यक्रम
sudo apt-get cpulimit हटा दें
वैकल्पिक रूप से, गॉक प्रोग्राम अनइंस्टॉल करें
sudo apt-get gawk निकालें
अधिक जानकारी के लिए, अधिक जानकारी के लिए उबंटू फोरम देखें।
कोड क्रेडिट: उबंटू फोरम से abcuser