कम संसाधनों का उपयोग कैसे करें?


26

जब मैं sudo apt-get upgradeअपने कम-अंत वाले लैपटॉप पर बहुत सारे पैकेजों के साथ चलता हूं, तो मुझे एक बोधगम्य प्रणाली मंदी आती है, कभी-कभी 3 सेकंड के स्क्रीन फ्रीज के साथ।

क्या इस नौकरी को बहुत कम प्राथमिकता के रूप में चिह्नित करने का कोई तरीका है, अर्थात बहुत कम सीपीयू, एमईएम और एचडीडी का उपयोग करें? मुझे वास्तव में परवाह नहीं है अगर इसे apt-get upgradeखत्म करने में दो घंटे का समय लगेगा, तो मैं अपग्रेड के दौरान व्यवधानों के बिना काम करना चाहता हूं।

जवाबों:


26

कमांड niceका उपयोग प्रोसेस शेड्यूलिंग प्राथमिकताओं में हेरफेर करने के लिए किया जा सकता है । कमांड प्रक्रिया को -20 (सबसे महत्वपूर्ण) से +19 (कम से कम महत्वपूर्ण) के लिए एक "अच्छा" मान प्रदान करता है। रूट किसी भी मूल्य, अन्य उपयोगकर्ताओं को केवल सकारात्मक (मामूली महत्व) असाइन कर सकता है। डिफॉल्यू मूल्य शून्य है।

nice -n <niceness> <command>

Apt-get कमांड की प्राथमिकता को कम से कम मूल्य पर सेट करने के लिए, आप कमांड का उपयोग कर सकते हैं

sudo nice -n 19 apt-get upgrade

पहले से चल रही प्रक्रिया की प्राथमिकता निर्धारित करने के लिए, कमांड reniceका उपयोग किया जा सकता है:

renice -n <niceness> -p <pid>

संपादित करें: ioniceकमांड का उल्लेख करने के लिए @David का धन्यवाद , जो आपको डिस्क I / O प्राथमिकता में हेरफेर करने देता है । यह तीन अलग-अलग वर्गों में एक प्रक्रिया डाल सकता है:

  • आइडल केवल प्रक्रिया डिस्क समय देता है, अगर कोई अन्य प्रक्रिया फिलहाल इसका दावा नहीं करती है।
  • सर्वश्रेष्ठ-प्रयास (डिफ़ॉल्ट वर्ग)। यह आपको 0 से 7 तक प्राथमिकताएं प्रदान करने की अनुमति देता है, जहां 0 सबसे महत्वपूर्ण और 7 कम से कम है। आप -n 7प्राथमिकता स्तर के रूप में असाइन करने का प्रयास कर सकते हैं ।
  • रीयलटाइम प्रक्रियाओं को बाकी सब से पहले संभाला जाता है, अन्य प्रक्रियाओं के लिए डिस्क I / O को निलंबित करते हैं, जैसे ही उन्हें अपने लिए इसकी आवश्यकता होती है। देखभाल के साथ प्रयोग करें!

IOnice अच्छा और त्याग का वाक्यविन्यास जोड़ता है:

ionice [-c class] [-n level] command             #To start a new process
ionice [-c class] [-n level] -p pid              #To change a running process

दोनों आदेशों को संयुक्त किया जा सकता है, जैसे

sudo ionice -n 7 nice -n 19 apt-get upgrade      #Omitting the -c switch will assign Best-effort
sudo nice -n 19 ionice -n 7 apt-get upgrade
nice -n 19 ionice -n 7 sudo apt-get upgrade
...

6
मुझे आश्चर्य है कि यह बहुत सारे अपवित्र हैं। उपयुक्त-अप उन्नयन IO बाध्य है!
जोशुआ

3
कैसे के बारे में ionice?
डेविड लेबॉयर

1
तो, स्पष्ट करने के लिए, sudoआपकी आज्ञा में नहीं nice, बल्कि apt-getस्वयं के लिए है? ऐसा लगता है कि nice -n 19 sudo apt-get upgradeमेरे लिए भी काम करता है। क्या कोई महत्वपूर्ण अंतर है?
1

1
@Chargin sudo nice apt-getरूट के रूप में अच्छा चलता है और 0. से कम प्राथमिकताओं को स्थापित करने की अनुमति देगा apt-get अभी भी रूट के रूप में चलेगा। nice sudo apt-getवर्तमान उपयोगकर्ता के रूप में अच्छा चलेगा, और इस प्रकार केवल प्राथमिकताओं की तुलना में अधिक या बराबर 0. apt-get को रूट के रूप में शुरू किया जाएगा।
s3lph

1
@ डेविड मैंने अपने जवाब में आयनिस जोड़ा।
s3lph
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.