सीपीयू, रैम और एचडीडी उपयोग दिखाने के लिए एक लाइनर


15

मैंने उपयोग के संबंध में समान पोस्ट करने के लिए कुछ पोस्ट देखे हैं, हालांकि उत्तर हमेशा कुछ तृतीय पक्ष उपकरण स्थापित करने के लिए संदर्भित करते हैं।

मैं कुछ भी स्थापित नहीं करना चाहता।

कोई एक लाइनर? निम्नलिखित एक अच्छा उत्पादन होगा:

CPU 11% RAM 20% HDD 85%

क्या HDD प्रतिशत का उपयोग कितना पूर्ण है या यह कितना व्यस्त है?
बाइट कमांडर

@ बाइटकमांडर दोनों? :) एक गंभीर नोट पर, क्षमता हालांकि। अगर दोनों अच्छा होगा।
कार्ल मॉरिसन

साई .......: - /
बाइट कमांडर

@ByteCommander क्षमता से मेरा तात्पर्य "कितना स्पष्ट है" अगर मैं स्पष्ट नहीं था :)
कार्ल मॉरिसन

जवाबों:


29

आप इसका उपयोग कर सकते हैं

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

आउटपुट है

CPU 7.4% RAM 33.9% HDD 94%

2
यदि आपके पास कई विभाजन हैं तो एचडी हिस्सा चूसना है।
coteyr

1
df -h /कमांड लाइन का हिस्सा /विभाजन के बारे में आंकड़े दिखाता है । आप df -hकमांड को दोहरा सकते हैं और /माउंट बिंदु के साथ स्थानापन्न कर सकते हैं जिसे आपको मॉनिटर करने की आवश्यकता है।
एमके

1
मेरे लिए काम नहीं करता है। सीपीयू हमेशा 91% है, मुझे नहीं पता कि यह कहां से आता है। // और RAM में बफ़र्स और कैश शामिल हैं, जिससे यह लगता है कि यह समाप्त हो गया है। मैं 97.8% रैम का उपयोग करता हूं, लेकिन अभी भी 67.5% मुफ्त है।
Oskar Skog

2
@OskarSkog आपकी topबात ठीक है। CPU उपयोग को वर्तमान समय में मापा नहीं जा सकता है, इसे थोड़े समय के अंतराल पर मापा जाना चाहिए। जब topपहला पुनरावृत्ति चलता है, तो यह अंतिम रिबूट के बाद से औसत उपयोग दिखाता है। दूसरी पुनरावृत्ति से शुरू होकर यह पिछले पुनरावृत्ति के बाद से वास्तविक वर्तमान उपयोग को दर्शाता है। और अगर आपको स्थानीयकरण की समस्या है, तो आप LC_ALL=Cडिफ़ॉल्ट अंग्रेजी स्थानीयकरण (संख्या प्रारूप आदि, भाषा नहीं) का उपयोग करने के लिए कमांड के सामने रख सकते हैं।
बाइट कमांडर

2
@ मैके: आप के top -bn1 | grep "Cpu(s)"साथ प्रतिस्थापित करना चाहते हो सकता है top -bn2 | grep "Cpu(s)" | tail -n1। पूर्व में बाइट कमांडर द्वारा इंगित लंबी अवधि का औसत प्रदर्शित होगा।
Oskar Skog

7

CPU उपयोग के लिए (औसत से (user+system)/(user+system+idle)अधिक 0.1 सेकंड):

(grep 'cpu ' /proc/stat;sleep 0.1;grep 'cpu ' /proc/stat)|awk -v RS="" '{print "CPU "($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'

रैम उपयोग के लिए ( (total-available)/total):

awk '/MemTotal/{t=$2}/MemAvailable/{a=$2}END{print 100-100*a/t"%"}' /proc/meminfo

एचडीडी उपयोग के लिए (केवल वॉल्यूम के रूप में घुड़सवार /):

df | awk '/ \/$/{print "HDD "$5}'

दिलचस्प है, वहाँ कम स्मृति उपलब्ध है जो `मुक्त -m | सिर -n3 | टेल-एन 1 'मुफ्त मेमोरी के रूप में रिपोर्ट करता है।
Oskar Skog

@OskarSkog क्या आप उस कमांड के अपने आउटपुट को साझा कर सकते हैं? मेरे लिए यह बस स्वैप टोटल / यूज्ड / फ्री लाइन प्रिंट करता है, जो यहां प्रासंगिक नहीं है। शायद आपका मतलब कुछ और था, या आपकी freeकमांड अभी भी पुराने आउटपुट फॉर्मेट को अलग - / + बफ़र्स / कैश लाइन के साथ इस्तेमाल करती है ...
बाइट कमांडर

मेरा मुफ्त पुराने प्रारूप का उपयोग करता है: oskog97.com/sshin/free-output.png क्या बदला है?
Oskar Skog

3
@OskarSkog "- / + बफ़र्स / कैश" लाइन हटा दी गई और अब इसके बजाय "मेम" पंक्ति में एक अतिरिक्त कॉलम "उपलब्ध" है। से man free: " नए अनुप्रयोगों को शुरू करने के लिए, स्वैप किए बिना कितनी मेमोरी उपलब्ध है इसका अनुमान। कैश या मुफ्त फ़ील्ड द्वारा प्रदान किए गए डेटा के विपरीत, यह फ़ील्ड खाता पृष्ठ कैश में ले जाती है और यह भी कि सभी पुनर्प्राप्त करने योग्य मेमोरी स्लैब को आइटम के कारण पुनः प्राप्त नहीं किया जाएगा। उपयोग में किया जा रहा MemAvailable में / proc / meminfo,, कर्नेल 3.14, कर्नेल 2.6.27+ पर नकल करते पर नि: शुल्क उपलब्ध के रूप में) अन्यथा एक ही "
बाइट कमांडर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.