क्या आपका पीसी फ्रीज हो रहा है? या आपके कंप्यूटर से तेज CPU पंखे की आवाज आ रही है? लिनक्स में उच्च CPU उपयोग के कई कारण हैं, लेकिन सबसे आम एक दुर्व्यवहार करने वाला ऐप है। यह जानने के लिए पढ़ें कि आप लिनक्स में उच्च CPU उपयोग को कैसे ठीक कर सकते हैं।
दोषी को खोजें
एक दुर्व्यवहार करने वाला ऐप सबसे तेज प्रोसेसर को भी घुटनों पर ला सकता है। आप समस्याग्रस्त एप्लिकेशन को खोजने के लिए सिस्टम मॉनिटर ऐप या टर्मिनल में top का उपयोग कर सकते हैं।
अपना टर्मिनल खोलें, top टाइप करें, और एंटर दबाएं।
डिफ़ॉल्ट रूप से, सभी प्रक्रियाएं उनके CPU उपयोग के अनुसार क्रमबद्ध होती हैं, जिसमें सबसे अधिक CPU-हंगरी शीर्ष पर होते हैं। यदि कोई ऐप लगातार शीर्ष पांच स्लॉट में से एक में है और बाकी की तुलना में काफी अधिक CPU उपयोग दर के साथ, तो आपने दोषी को ढूंढ लिया है।
ऐप को Renice या Kill करें
Top में renice और kill दोनों के लिए समर्थन शामिल है, इसलिए आप किसी भी प्रक्रिया की प्राथमिकता बदलने या जबरन रोकने के लिए उन टूल का उपयोग कर सकते हैं।
एक ऐप की अच्छी प्राथमिकता अन्य चल रही प्रक्रियाओं की तुलना में इसे अनुमत CPU संसाधनों की मात्रा को संदर्भित करती है। Nice +19 से -20 तक के मान स्वीकार करता है। संख्या जितनी अधिक होगी, प्राथमिकता उतनी ही कम होगी।
top में, r दबाएं और समस्याग्रस्त ऐप का PID दर्ज करें। इसे "+5" मान पर बदलने का प्रयास करें, और यदि इससे मदद नहीं मिलती है, तो "+10", "+15", और अंत में सबसे कम संभव प्राथमिकता, "+19" के साथ पुनः प्रयास करें।
यदि ऐप अनुत्तरदायी है, तो आपको इसे तुरंत रोक देना चाहिए। top में k दबाएं, PID दर्ज करें, एंटर दबाएं, और ऐप चला जाएगा।
सब कुछ अपडेट करें
यदि हर बार ऐप चलाने पर समस्या बनी रहती है, तो ऐप को अपडेट करने से समस्या ठीक हो सकती है।
ऐसा करने के लिए, अपने टर्मिनल में दर्ज करें:
sudo apt update && sudo apt -y upgrade
उसके बाद, समस्याग्रस्त एप्लिकेशन को फिर से चलाने का प्रयास करें।
ऐप को हटाएं और पुनः इंस्टॉल करें
यदि समस्या ठीक नहीं होती है, तो इसकी थोड़ी संभावना है कि यह प्रोग्राम के कॉन्फ़िगरेशन में गलत पैरामीटर के कारण दिखाई देती है। इसे इसकी मूल स्थिति में रीसेट करने से मदद मिल सकती है।
सबसे पहले, अपने कॉन्फ़िगरेशन का बैकअप लें, यदि यह समस्या का कारण नहीं था, और आप भविष्य में इसे पुनर्स्थापित करने का निर्णय लेते हैं। फिर, समस्याग्रस्त ऐप को पर्ज करें:
sudo apt purge APP_NAME
ऐप को पुनः इंस्टॉल करें:
sudo apt update sudo apt install APP_NAME
यह ऐप को उसकी मूल स्थिति में रीसेट कर देगा।
पिछले संस्करण पर वापस जाएं
यदि ऐप को अपग्रेड करने से समस्या हल नहीं हुई, तो आप पिछले संस्करण पर वापस जा सकते हैं। आप डाउनग्रेड करने और पुराने संस्करण का उपयोग करने का प्रयास कर सकते हैं, कम से कम जब तक डेवलपर ने ऐप में बग्स को ठीक नहीं कर दिया।
अपने ऐप को डाउनग्रेड करने के लिए, पहले उपलब्ध संस्करणों की जांच करने के लिए अपना टर्मिनल चलाएं और जारी करें:
sudo apt policy APP_NAME
आपका वर्तमान में इंस्टॉल किया गया संस्करण उसके आगे तीन एस्टेरिस्क के साथ होगा। अन्य उपलब्ध संस्करणों पर ध्यान दें।
डाउनग्रेड करने से पहले, हम सुझाव देते हैं कि आप मौजूदा संस्करण को पर्ज करें। यह किसी भी कॉन्फ़िगरेशन-संबंधी समस्याओं को समाप्त कर देगा।
पुराने संस्करण को इंस्टॉल करें, साथ:
sudo apt install APP_NAME=VERSION
वैकल्पिक ऐप का उपयोग करें
लिनक्स के बारे में अच्छी बात यह है कि बहुत सारे ऐप हैं जो वही काम कर सकते हैं। इसलिए यदि कोई ऐप उच्च CPU उपयोग का कारण बन रहा है, तो आप इसे एक विकल्प से बदल सकते हैं और करना चाहिए।
कोर ऐप्स के कारण उच्च CPU उपयोग के लिए सुधार
क्या होगा यदि जो आपके CPU को खा रहा है वह एक कोर ऐप है, जैसे systemd या Xorg?
systemd के लिए, अपने कंप्यूटर पर गैर-आवश्यक सुविधाओं और द्वितीयक उपकरणों को अक्षम करने का प्रयास करें, जैसे जॉयपैड और प्रिंटर।
यदि डिवाइस एक जॉयपैड, माउस, या कीबोर्ड है, और आप उबंटू या एक संगत वितरण चला रहे हैं, तो अपने टर्मिनल में xinput टाइप करें ऐसे सभी जुड़े उपकरणों को देखने के लिए। उनमें से एक को अक्षम करने के लिए, उपयोग करें:
xinput --disable DEVICE_ID
उपरोक्त कमांड में disable को enable से बदलकर डिवाइस को पुनः सक्षम करें।
अन्य उपकरणों के लिए, समाधान कुछ अधिक जटिल है। पहले, आपको अपने टर्मिनल में lsmod दर्ज करना होगा और एंटर दबाकर उन सभी अतिरिक्त ड्राइवरों को देखना होगा जिन्हें आपका लिनक्स कर्नेल मॉड्यूल के रूप में लोड करता है। आपत्तिजनक डिवाइस के लिए एक ढूंढें और उसका नाम नोट करें। फिर, निम्नलिखित दर्ज करें:
sudo nano /etc/modprobe.d/blacklist.conf
आपने जो दस्तावेज़ खोला है वह उन मॉड्यूल की ब्लैकलिस्ट है जिन्हें बूट के दौरान लोड नहीं किया जाना चाहिए। यह शायद पहले से ही कुछ प्रविष्टियों से भरा होगा। फ़ाइल के अंत में जाएं और अपने मॉड्यूल को इस सूची में जोड़ने के लिए उसी सिंटैक्स का पालन करें। आपकी प्रविष्टि इस तरह दिखनी चाहिए:
blacklist MODULE_NAME
फ़ाइल को सहेजें, रीबूट करें, और उम्मीद है, अब सब कुछ ठीक काम करेगा।
Xorg के लिए, अपने विंडो मैनेजर के कंपोज़िटर को अक्षम करने का प्रयास करें। हालांकि आधिकारिक तौर पर कंपोज़िटर CPU-संबंधित कार्यों को GPU पर ऑफलोड करता है, लेकिन यह हमेशा ऐसा नहीं होता है। कभी-कभी, कंपोज़िटिंग समर्थन को सक्षम करके, आप कई मांग वाले प्रभावों को भी सक्षम कर रहे होते हैं।
कभी-कभी GPU के ड्राइवर भी उच्च CPU उपयोग का कारण बन सकते हैं। Xorg वास्तव में Nvidia या AMD के ड्राइवरों के विशिष्ट संस्करणों के साथ नहीं मिला। समाधान एक अलग संस्करण में अपग्रेड या डाउनग्रेड करना है। वैकल्पिक रूप से, आप अपने GPU के ड्राइवरों के ओपन-सोर्स संस्करणों को आज़मा सकते हैं। फिर भी, वे सटीक फीचर-सेट साझा नहीं करते और कुछ कार्यक्षमता की कमी हो सकती है।
अपने कर्नेल को स्वैप करें
लिनक्स कर्नेल के उच्च CPU उपयोग का कारण होना दुर्लभ है। फिर भी, यदि आप बिना किसी समाधान के इस बिंदु पर पहुंच गए हैं, तो आप एक अलग कर्नेल आज़माकर कुछ नहीं खोएंगे।
इसकी आधिकारिक साइट पर बताए अनुसार, उबंटू में लोकप्रिय Liquorix कर्नेल इंस्टॉल करने के लिए, अपने टर्मिनल पर जाएं और टाइप करें:
sudo add-apt-repository ppa:damentz/liquorix && sudo apt-get update
यह उबंटू के स्रोतों में इसका रिपॉजिटरी जोड़ देगा। फिर, कर्नेल को ऑनबोर्ड लाने के लिए, उपयोग करें:
sudo apt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64
अपने नए कर्नेल को सक्षम करने के लिए रीबूट करें, और उम्मीद है, आपका CPU उपयोग सामान्य स्तर पर वापस आ जाएगा।
हमें उम्मीद है कि उन समाधानों में से एक आपके लिए काम करेगा। यदि नहीं, तो आप taskset के साथ अनुप्रयोगों के लिए CPU कोर को मैन्युअल रूप से असाइन करने का भी प्रयास कर सकते हैं। अंत में, शायद आपके OS को स्क्रैच से पुनः इंस्टॉल करने या एक अलग वितरण पर जाने का समय आ गया है।