# !/bin/bash
# author:liaotuo
if [ -e cpu_mr.log ]
then
rm -f cpu_mr.log
fi
pid_array=(122)
#get all pid by proName
funGetPids(){
ps -C kubelet -o pid > pids.txt
sed -i '1d' pids.txt #delete the first line
i=0;
while read line
do
pid_array[$i]=$line
echo ${pid_array[$i]}
let "i++"
done < pids.txt
# echo $pid_array
return
}
funGetPids
interval=1
while true
do
sum_vmrss=0
sum_cpu=0
for pid in ${pid_array[@]}
do
vmrss_temp=`cat /proc/$pid/status|grep -e VmRSS|tr -cd "[0-9]"`
# echo $vmrss_temp
sum_vmrss=`expr $sum_vmrss + $vmrss_temp`
#cpu=`top -n 1 -p $pid|tail -2|head -1|awk '{ssd=NF-4} {print $ssd}'`
cpu=`top -b -n 2 -d 1 -p $pid| awk '/^top/{i++}i==2' | tail -1 | head -2 |awk '{ssd=NF-3} {print $ssd}'
# echo $cpu
# sum_cpu=`expr $sum_cpu + $cpu`
sum_cpu=$(echo "$sum_cpu+$cpu"|bc)
done
# echo "-------------------"
echo "sum_vmrss: " $sum_vmrss >> cpu_mr.log
echo "sum_cpu: " $sum_cpu >> cpu_mr.log
# echo "-------------------"
echo "complete"
sleep $interval
done
Linux进程内存和CPU使用量监控
最新推荐文章于 2023-05-24 12:42:06 发布