मेमोरी उपयोग, डिस्क उपयोग और सीपीयू लोड प्रदर्शित करने के लिए कमांड


16

मैं निम्नलिखित प्रारूप में मेमोरी उपयोग, डिस्क उपयोग और सीपीयू लोड प्रदर्शित करना चाहता हूं:

Memory Usage: 33/512MB (6%)    
Disk usage: 4.2/20GB (23%) 
CPU Load: 0.01

मैं उसको कैसे करू?


बहुत होमवर्क जैसा लगता है। अपने द्वारा आवश्यक डेटा को स्वयं से या अन्य कमांड से पकड़ो, फिर इसे awk, perl, या बस बैश के साथ प्रारूपित करें।
माइकबकॉक

यूनिक्स और लिनक्स स्टैक एक्सचेंज में आपका स्वागत है! कृपया अपने ओएस को हमेशा शामिल करें। समाधान बहुत बार उपयोग किए जा रहे ऑपरेटिंग सिस्टम पर निर्भर करते हैं। क्या आप यूनिक्स, लिनक्स, बीएसडी, ओएसएक्स, कुछ और का उपयोग कर रहे हैं? कौन सा संस्करण?
terdon

आपकी मदद के लिए शुक्रिया। हालांकि, मैं अपने जवाब यहाँ मिल गया stackoverflow.com/questions/33774260/...
मोहसिन इनायत खान

जवाबों:


33

यह कोशिश करो, यह मेरे डेबियन सिस्टम पर काम करता है। आपके ओएस द्वारा उपयोग किए जाने वाले इन उपकरणों के कार्यान्वयन के आधार पर विवरण भिन्न हो सकते हैं:

#!/bin/sh
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}' 

यदि आप उपरोक्त को स्क्रिप्ट के रूप में सहेजते हैं और इसे चलाते हैं, तो आपको मिलेगा (मेरे सिस्टम से उदाहरण):

$ ./foo.sh 
Memory Usage: 4986/7994MB (62.37%)
Disk Usage: 23/68GB (35%)
CPU Load: 0.78

ध्यान दें कि ऊपर दी गई स्क्रिप्ट /विभाजन के लिए डिस्क उपयोग दे रही है । आपने निर्दिष्ट नहीं किया कि आप क्या चाहते हैं इसलिए मैं अनुमान लगा रहा हूं कि आप आखिर क्या हैं।



@RahulPatil अच्छा लग रहा है, आप इसे पोस्ट क्यों नहीं करते?
terdon

3
क्योंकि यह सिर्फ आपके कॉपी किए गए ans है। : D
राहुल पाटिल

1
फ्री-एम लाइन मुझे एक त्रुटि देती है, प्रतिशत ठीक से नहीं बचा था। यह कैसे होना चाहिए:free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
सिमोन

1
@ user1735921 कृपया एक प्रश्न पूछें । लेकिन पहले, google एक चर में एक कमांड के आउटपुट को स्टोर करने का तरीका बताता है, जो कि मामूली है। फिर, समझाएं कि आप क्या संग्रह करना चाहते हैं और प्रश्न में क्या परीक्षण करना चाहते हैं।
terdon

5

ऊपर की जाँच करें ।

इसे पढ़ें, https://lwn.net/Articles/387202/

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

आप ऐप्स द्वारा डिस्क / मेमोरी / सीपीयू का लोड देख सकते हैं:

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

उदाहरण के लिए, डिस्क का उपयोग:

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

/var/log/atop/प्रति दिन बाइनरी प्रारूप फ़ाइलों में निर्देशिका में आँकड़े एकत्र किए गए । आप एक आदमी पृष्ठ पढ़ सकते हैं, उपयोगी जानकारी निकालने का एक तरीका होना चाहिए।


2

आपके विशेष प्रारूप में वास्तव में प्रदर्शित करने के लिए कोई आदेश नहीं है, लेकिन निम्नलिखित कुछ आधार मान प्रदान करते हैं, जो कि एक स्क्रिप्ट का निर्माण कर सकते हैं, एक विकल्प के रूप में / proc / sys से मूल्यों को पढ़ना भी संभव है।

free - त्वरित अवलोकन

vmstat 1 सिस्टम प्रदर्शन i / o आँकड़े दिखाता है

top गतिशील

htop शीर्ष के समान


1
मेरे व्यक्तिगत पसंदीदा, iostat में फेंक दें।
माइकबाकॉक

0

मुझे लगता है कि आपको नगिओस की मदद चाहिए, क्योंकि नगीओस के लिए यह सभी प्लगइन्स / लिपटी पहले से ही बने हुए हैं और आप नगिओस इंस्टॉलेशन के बिना डाउनलोड और टेस्ट कर सकते हैं।



0

यहाँ सीपीयू और रैम उपयोग के लिए मेरा कोड है:

### 1. get total average CPU usage for the past minute
avg_cpu_use=$(uptime)
# a. split response
IFS=',' read -ra avg_cpu_use_arr <<< "$avg_cpu_use"
# b. find cpu usage
avg_cpu_use=""
for i in "${avg_cpu_use_arr[@]}"; do :
    if [[ $i == *"load average"* ]]; then
        avg_cpu_use=$i
        break       
    fi
done
# c. create response
avg_cpu_use=$(echo ${avg_cpu_use:16})   # Remove "  load average: "
if [[ -z "${avg_cpu_use// }" ]]; then
    avg_cpu_use="CPU: N/A%%"
    exit -1
else
    avg_cpu_use="CPU: ${avg_cpu_use}%%"
fi

### 2. get RAM usage
ram_use=$(free -m)
# a. split response by new lines
IFS=$'\n' read -rd '' -a ram_use_arr <<< "$ram_use"
# b. remove extra spaces
ram_use="${ram_use_arr[1]}"
ram_use=$(echo "$ram_use" | tr -s " ")
# c. split response by spaces
IFS=' ' read -ra ram_use_arr <<< "$ram_use"
# d. get variables
total_ram="${ram_use_arr[1]}"
ram_use="${ram_use_arr[2]}"
# e. create response
ram_use="RAM: ${ram_use}/${total_ram} MB"

echo $avg_cpu_use
echo $ram_use

-2

आपको मेमोरी उपयोग, डिस्क उपयोग और सीपीयू लोड को प्रदर्शित करने में सक्षम होना चाहिए:

(ps hax -o rss,user | awk '{a[$2]+=$1;}END{for(i in a)print i" "int(a[i]/1024+0.5);}' | sort -rnk2)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.