CPU या मेमोरी उपयोग वापस नहीं कर रहा है!


80

मुझे लगता है कि लिनक्स सिस्टम की निगरानी के लिए शीर्ष महान अनुप्रयोग है। मैं वास्तव में इसे पसंद करता हूं, लेकिन शीर्ष मैक पर इतना अच्छा नहीं दिखता। मुझे पता है कि मैक के पास इसे करने के लिए एक सिस्टम मॉनिटर है, लेकिन मैं एक टर्मिनल का उपयोग करना पसंद करता हूं।

मैंने दौड़कर htop स्थापित किया है:

brew install htop

यहां है कि यह कैसा लग रहा है:

PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
    1 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (launchd)
   10 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (kextd)
   11 0          0   0     0     0     0 ?  0.0  0.0  0:00.00 (UserEventAgent)
   12 65         0   0     0     0     0 ?  0.0  0.0  0:00.00 (mDNSResponder)

समस्या यह है कि सीपीयू और एमईएम दोनों मेरे सिस्टम पर वास्तविक मूल्यों को वापस नहीं कर रहे हैं।

क्या किसी और को भी इसका अनुभव हुआ है? या, कोई मुझे सही दिशा में इशारा कर सकता है?

जवाबों:


92

मुझे भी यही समस्या है इसलिए मैं नुस्खा की जांच करता हूं।

$ brew edit htop

तो मैं नुस्खा के इस हिस्से की जाँच करें:

def caveats; <<-EOS.undent
    For htop to display correctly all running processes, it needs to run as root.
    If you don't want to `sudo htop` every time, change the owner and permissions:
    cd #{bin}
    chmod 6555 htop
    sudo chown root htop
EOS

तो बस टाइप करें sudo htopऔर आप सीपीयू और एमईएम देखेंगे ।


18
आप brew info htopकैविट्स सामग्री को देखने के लिए उपयोग कर सकते हैं
एबी

4
यह उन लोगों के लिए मददगार है जो मैकपोर्ट के साथ भी स्थापित हैं; मेरे लिए, मुझे नहीं पता कि क्यों, लेकिन sudo htopकाम नहीं किया। htopमें स्थापित किया गया था /bin, इसलिए मैं cdवहाँ गया और भागा chmod 6555 htop && sudo chown root htop। अब htopठीक काम करता है।
बजे ब्रायन मैककचटन

1
@ अब नहीं, उन्होंने इसे बदल दिया।
Dalibor Filus

4
यह समाधान किसी भी उपयोगकर्ता को किसी भी अन्य उपयोगकर्ता (या रूट की) प्रक्रियाओं को मारने की अनुमति देता है। क्या सिस्टम को संशोधित करने की अनुमति के बिना सीपीयू और एमईएम को पढ़ने की अनुमति देने का एक तरीका है?
मैक्स

यदि आप htopइसे स्थापित करना चाहते हैं, तो संशोधित करेंchmod 6555 "$(which htop)"
BallpointBen

20

मेरी काढ़ा जानकारी से:

You can either run the program via `sudo` or set the setuid bit:

  sudo chown root:wheel /usr/local/Cellar/htop-osx/0.8.2.2/bin/htop

  sudo chmod u+s /usr/local/Cellar/htop-osx/0.8.2.2/bin/htop

यह सुनिश्चित करने के लिए काम किया कि मुझे सूडो के रूप में htop चलाने की आवश्यकता नहीं है


6

यहां उन लोगों के लिए एक विकल्प है जो अनुमतियों के साथ टकराव नहीं करना चाहते हैं और फिर भी sudo htopसिर्फ प्राथमिकता में टाइप करने से बचें htop:

  1. काढ़ा के साथ स्थापित करें: brew install htop
  2. sudo htopबिना sudo पासवर्ड के चलने की अनुमति
    1. sudo visudoएक संपादक में sudoers फ़ाइल खोलने के लिए चलाएँ
    2. इसे कॉन्फ़िग फ़ाइल में जोड़ें: %admin ALL=(ALL) NOPASSWD: /usr/local/bin/htop
    3. फ़ाइल सहेजें और बाहर निकलें ( :wqसबसे अधिक संभावना है)
  3. अपनी शेल आरसी फ़ाइल में निम्नलिखित उपनाम जोड़ें (उदाहरण के लिए ~/.bashrcया ~/.profile): alias htop='sudo htop'

0

ध्यान दें कि OS X पर सही ढंग से कार्य करने के लिए htop के नवीनतम संस्करणों के लिए, यह htop के साथ "आशीर्वाद" करने के लिए पर्याप्त नहीं है chmod 6555 htopऔर sudo chown htop- जबकि htop चलेगा, आउटपुट htopऔर के बीच भिन्न होगा sudo htop

यहाँ "धन्य" htop उदाहरण का स्क्रीनशॉट दिया गया है, जिसे htopनिम्न रूप में लिखा गया है :

यहाँ छवि विवरण दर्ज करें

और यहां इसकी एक तस्वीर इस प्रकार चल रही है sudo htop:

यहाँ छवि विवरण दर्ज करें

जैसा कि आप देख सकते हैं, गैर-सूडो-इनवॉल्ड htopप्रदर्शित करता है काफी कम जानकारी।

सही उत्तर प्रस्तुत किया गया था @ सुकीमा द्वारा; यह दुर्भाग्य से उर्फ ​​के htopलिए आवश्यक है sudo htop। कमांड लाइन उपयोगकर्ताओं के लिए, प्रॉम्प्ट पर पासवर्ड टाइप करना दूसरी प्रकृति है और मुझे लगता है कि हम में से अधिकांश के लिए यह htopसूडो के रूप में लॉन्च करना भूल रहा है जो पासवर्ड में टाइप करने के लिए आवश्यक होने के बजाय समस्या है। मैं sudo htopपासवर्ड प्रॉम्प्ट के बिना चलाने की अनुमति देने के खिलाफ अत्यधिक सलाह देता हूं , लेकिन अगर आप ऐसा करना चाहते हैं, तो सबसे अच्छा तरीका यह है कि किसी एकल, नामित उपयोगकर्ता को पासवर्ड के बिना htop (और केवल htop) लॉन्च करने की अनुमति दी जाए (हालांकि यह एक बहुत बड़ा जोखिम है चूँकि htop शक्तिशाली और एक्स्टेंसिबल है और बाहरी कमांड चला सकता है, जिसका अर्थ है कि जो कोई sudo के रूप में htop चलाता है वह कुछ भी कर सकता है):

sudo visudo
# add the line below somewhere in the editor
YOURUSERNAME ALL=(ALL) NOPASSWD: /usr/local/bin/htop
# save and exit
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.