আমাকে দুটি সার্ভারের (উবুন্টু এবং সেন্টোস) ব্যবহারকারীদের সিপিইউ ব্যবহারের উপর নজর রাখতে হবে। উদাহরণ স্বরূপ:
user1 5%
user2 10%
...
এর মতো কোনও সরঞ্জাম রয়েছে topবা htopএটি করতে পারে?
আমাকে দুটি সার্ভারের (উবুন্টু এবং সেন্টোস) ব্যবহারকারীদের সিপিইউ ব্যবহারের উপর নজর রাখতে হবে। উদাহরণ স্বরূপ:
user1 5%
user2 10%
...
এর মতো কোনও সরঞ্জাম রয়েছে topবা htopএটি করতে পারে?
উত্তর:
বর্তমানে লগ ইন করা প্রতিটি ব্যবহারকারীর জন্য মোট সিপিইউ প্রিন্ট করার জন্য এখানে একটি স্ক্রিপ্ট দেওয়া আছে , শোপিরউজারসিপিইউ.শ :
own=$(id -nu)
cpus=$(lscpu | grep "^CPU(s):" | awk '{print $2}')
for user in $(who | awk '{print $1}' | sort -u)
do
# print other user's CPU usage in parallel but skip own one because
# spawning many processes will increase our CPU usage significantly
if [ "$user" = "$own" ]; then continue; fi
(top -b -n 1 -u "$user" | awk -v user=$user -v CPUS=$cpus 'NR>7 { sum += $9; } END { print user, sum, sum/CPUS; }') &
# don't spawn too many processes in parallel
sleep 0.05
done
wait
# print own CPU usage after all spawned processes completed
top -b -n 1 -u "$own" | awk -v user=$own -v CPUS=$cpus 'NR>7 { sum += $9; } END { print user, sum, sum/CPUS; }'
এবং এখানে সমস্ত উপলব্ধ ব্যবহারকারীদের সিপিইউ ব্যবহার (তবে শূন্যের সিপিইউ ব্যবহারের সাথে বাদ দেওয়া), শোআলপ্লেরউজারসিপিইউ.শ এর সামান্য পরিবর্তিত সংস্করণ রয়েছে :
own=$(id -nu)
cpus=$(lscpu | grep "^CPU(s):" | awk '{print $2}')
for user in $(getent passwd | awk -F ":" '{print $1}' | sort -u)
do
# print other user's CPU usage in parallel but skip own one because
# spawning many processes will increase our CPU usage significantly
if [ "$user" = "$own" ]; then continue; fi
(top -b -n 1 -u "$user" | awk -v user=$user -v CPUS=$cpus 'NR>7 { sum += $9; } END { if (sum > 0.0) print user, sum, sum/CPUS; }') &
# don't spawn too many processes in parallel
sleep 0.05
done
wait
# print own CPU usage after all spawned processes completed
top -b -n 1 -u "$own" | awk -v user=$own -v CPUS=$cpus 'NR>7 { sum += $9; } END { print user, sum, sum/CPUS; }'
প্রথম কলামটি ব্যবহারকারীর নাম, দ্বিতীয় কলামটি সংহত সিপিইউ ব্যবহার এবং তৃতীয় কলামটি সিপিইউ কোরের সংখ্যা অনুসারে নর্মাল সিপিইউ ব্যবহার করে।
প্রতিটি ব্যবহারকারীর জন্য মোট মেমরির ব্যবহার দেখানোর জন্য সম্পর্কিত স্ক্রিপ্টও রয়েছে : showPerUserMem.sh
লাইভ-মনিটরিংয়ের জন্য watchকমান্ডের মাধ্যমে সময়-সময় এই স্ক্রিপ্টগুলি সম্পাদন করুন ।
সিপিইউ ব্যবহার অনুসারে বাছাইয়ের জন্য আউটপুটটি পাইপ করুন sort -k2 -nr।
$USERইতিমধ্যে আপনার ব্যবহারকারীর নাম, তাই id -nuআপনি যে কমান্ডটি ব্যবহার করছেন তা ঠিক একই রকম ut এটি পরিবর্তন করতে আমি আপনার পোস্ট সম্পাদনা করেছি
/etc/init.d/ডিরেক্টরিতে দশটির মধ্যে নয়টি স্ক্রিপ্টও এটি করছে are বিপরীতে বিদ্যমান পরিবেশের ভেরিয়েবলগুলি ওভাররাইটিং এড়ানো উচিত।
top -u userএবং ফলাফলটি কোনও ফাইলে পুনর্নির্দেশ করতে পারেন এবং তারপরে অন্য একজন ব্যবহারকারীকে পর্যবেক্ষণ করতে পারেন। তারপরে একটি নির্দিষ্ট বিরতিতে আপনার ব্যবহারকারীর জন্য ব্যবহারের জন্য একটি মনিটর রাখতে হবে।