আমি নীচের ফর্ম্যাটে মেমরির ব্যবহার, ডিস্ক ব্যবহার এবং সিপিইউ লোডটি প্রদর্শন করতে চাই:
Memory Usage: 33/512MB (6%)
Disk usage: 4.2/20GB (23%)
CPU Load: 0.01
আমি কেমন করে ঐটি করি?
আমি নীচের ফর্ম্যাটে মেমরির ব্যবহার, ডিস্ক ব্যবহার এবং সিপিইউ লোডটি প্রদর্শন করতে চাই:
Memory Usage: 33/512MB (6%)
Disk usage: 4.2/20GB (23%)
CPU Load: 0.01
আমি কেমন করে ঐটি করি?
উত্তর:
এটি চেষ্টা করুন, এটি আমার ডেবিয়ান সিস্টেমে কাজ করে। আপনার ওএস ব্যবহার করে এমন সরঞ্জামগুলির প্রয়োগের উপর নির্ভর করে বিশদগুলি পৃথক হতে পারে:
#!/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
নোট করুন যে উপরের স্ক্রিপ্টটি /
পার্টিশনের জন্য ডিস্কের ব্যবহার দিচ্ছে । আপনি কী চান তা আপনি নির্দিষ্ট করেন নি তাই আমি অনুমান করছি যে আপনি যা পরে যাচ্ছেন।
free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
উপরে চেক করুন ।
এটি পড়ুন, https://lwn.net/Articles/387202/
দেখা,
আপনি অ্যাপ্লিকেশন দ্বারা ডিস্ক / মেমরি / সিপিইউ লোড দেখতে পারেন:
উদাহরণস্বরূপ, ডিস্ক ব্যবহার:
প্রতিদিন /var/log/atop/
বাইনারি ফর্ম্যাট ফাইলগুলিতে ডিরেক্টরিতে সংগৃহীত পরিসংখ্যানের শীর্ষে । আপনি একটি ম্যান পৃষ্ঠা পড়তে পারেন, দরকারী তথ্য নিষ্কাশন করার একটি উপায় থাকতে হবে।
আপনার নির্দিষ্ট ফর্ম্যাটে হুবহু প্রদর্শন করার জন্য কোনও কমান্ড নেই, তবে নীচে কয়েকটি বেস মান সরবরাহ করে, যার চারপাশে কোনও স্ক্রিপ্ট তৈরি করতে পারে, বিকল্প হিসাবে এটি / proc এবং / sys থেকে মানগুলি পড়াও সম্ভব।
free
- সংক্ষিপ্ত বিবরণ
vmstat 1
সিস্টেমের কর্মক্ষমতা i / o পরিসংখ্যান দেখায়
top
প্রগতিশীল
htop
শীর্ষে অনুরূপ
সিপিইউ এবং র্যাম ব্যবহারের জন্য আমার কোডটি এখানে:
### 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
আপনার ব্যবহার করে মেমরির ব্যবহার, ডিস্ক ব্যবহার এবং সিপিইউ লোড প্রদর্শন করতে সক্ষম হওয়া উচিত:
(ps hax -o rss,user | awk '{a[$2]+=$1;}END{for(i in a)print i" "int(a[i]/1024+0.5);}' | sort -rnk2)