মেমরির ব্যবহার, ডিস্ক ব্যবহার এবং সিপিইউ লোড প্রদর্শন করার জন্য আদেশ


16

আমি নীচের ফর্ম্যাটে মেমরির ব্যবহার, ডিস্ক ব্যবহার এবং সিপিইউ লোডটি প্রদর্শন করতে চাই:

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

আমি কেমন করে ঐটি করি?


অনেকটা হোম ওয়ার্কের মতো লাগে। আপনার নিজের / প্রোডাক্ট থেকে বা অন্যান্য কমান্ডগুলি থেকে প্রয়োজনীয় ডেটা গ্র্যাব করুন তারপরে এটিকে বিশ্রী, পার্ল বা কেবল বাশ দিয়ে ফর্ম্যাট করুন।
মাইকেববকক

ইউনিক্স ও লিনাক্স স্ট্যাক এক্সচেঞ্জে স্বাগতম! দয়া করে সর্বদা আপনার ওএস অন্তর্ভুক্ত করুন। সমাধানগুলি প্রায়শই ব্যবহৃত হওয়া অপারেটিং সিস্টেমের উপর নির্ভর করে। আপনি কি ইউনিক্স, লিনাক্স, বিএসডি, ওএসএক্স, অন্য কিছু ব্যবহার করছেন? কোন সংস্করণ?
টেরডন

আপনার সাহায্যের জন্য ধন্যবাদ ছেলেরা। যাইহোক, আমি আমার উত্তর এখানে পেয়েছি 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

নোট করুন যে উপরের স্ক্রিপ্টটি /পার্টিশনের জন্য ডিস্কের ব্যবহার দিচ্ছে । আপনি কী চান তা আপনি নির্দিষ্ট করেন নি তাই আমি অনুমান করছি যে আপনি যা পরে যাচ্ছেন।



@ রাহুলপাতিল দেখতে ভাল লাগছে কেন আপনি এটি পোস্ট করেন না?
টেরডন

3
কারণ এটি কেবল আপনার অনুলিপি করা উত্তরগুলি। : ডি
রাহুল পাতিল

1
ফ্রি-এম লাইনটি আমাকে ত্রুটি দেয়, শতাংশ সঠিকভাবে পালানো যায় নি। এটি এইভাবে হওয়া উচিত:free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
সাইমন

1
@ ব্যবহারকারী 1735921 দয়া করে একটি প্রশ্ন জিজ্ঞাসা করুন । তবে প্রথমে গুগল কীভাবে কোনও ভেরিয়েবলের মধ্যে একটি কমান্ডের আউটপুট সংরক্ষণ করতে পারে তা তুচ্ছ। তারপরে, আপনি কী সংরক্ষণ করতে চান এবং প্রশ্নে আপনি কী পরীক্ষা করতে চান তা ব্যাখ্যা করুন।
টেরডন

5

উপরে চেক করুন ।

এটি পড়ুন, https://lwn.net/Articles/387202/

দেখা, এখানে চিত্র বর্ণনা লিখুন

আপনি অ্যাপ্লিকেশন দ্বারা ডিস্ক / মেমরি / সিপিইউ লোড দেখতে পারেন:

এখানে চিত্র বর্ণনা লিখুন

উদাহরণস্বরূপ, ডিস্ক ব্যবহার:

এখানে চিত্র বর্ণনা লিখুন

প্রতিদিন /var/log/atop/বাইনারি ফর্ম্যাট ফাইলগুলিতে ডিরেক্টরিতে সংগৃহীত পরিসংখ্যানের শীর্ষে । আপনি একটি ম্যান পৃষ্ঠা পড়তে পারেন, দরকারী তথ্য নিষ্কাশন করার একটি উপায় থাকতে হবে।


2

আপনার নির্দিষ্ট ফর্ম্যাটে হুবহু প্রদর্শন করার জন্য কোনও কমান্ড নেই, তবে নীচে কয়েকটি বেস মান সরবরাহ করে, যার চারপাশে কোনও স্ক্রিপ্ট তৈরি করতে পারে, বিকল্প হিসাবে এটি / proc এবং / sys থেকে মানগুলি পড়াও সম্ভব।

free - সংক্ষিপ্ত বিবরণ

vmstat 1 সিস্টেমের কর্মক্ষমতা i / o পরিসংখ্যান দেখায়

top প্রগতিশীল

htop শীর্ষে অনুরূপ


1
আমার ব্যক্তিগত পছন্দ, নিক্ষেপ।
মাইকবাবকক

0

আমার মনে হয় আপনার নাগিওসের সহায়তা দরকার, নাগিওগুলির জন্য এই সমস্ত প্লাগইন / এসসিআরপিট ইতিমধ্যে তৈরি হয়ে গেছে এবং আপনি নাগিওগুলি ইনস্টলেশন না করে ডাউনলোড এবং পরীক্ষা করতে পারেন।


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)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.