码迷,mamicode.com
首页 > 系统相关 > 详细

Linux自动收集某个进程的脚本

时间:2015-05-14 15:44:48      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

interval=($2)
name=($1)
arrA=($3)

while true
do a=(`top -b -n 2|grep Cpu|awk ‘{print $2}‘`)
echo $name.cpu.total" "${a[1]%%%us,}" "`date +%s`
d=`free -m|grep Mem|awk ‘{print $3}‘`
echo $name.mem.used" "$[d*1024*1024]" "`date +%s`
e=`free -m|grep Mem|awk ‘{print $2}‘`
echo $name.mem.total" "$[e*1024*1024]" "`date +%s`
for NUM in ${arrA[*]}
do
cpu=`top -n 1 -p $NUM|tail -2|head -1|awk ‘{ssd=NF-4} {print $ssd}‘`
b=$(awk ‘BEGIN{printf "%.1f\n",‘$cpu‘/4}‘)
echo $name.cpu.$NUM" "$b" "`date +%s`
mem=(`cat /proc/$NUM/status|grep -e VmRSS`)
if [ "${mem[1]}" == "" ]
then
echo $name.mem.$NUM" "0.0 `date +%s`
else
c=${mem[1]}
echo $name.mem.$NUM" "$[c*1024]" "`date +%s`
fi
done


sleep $interval
done

 

Linux自动收集某个进程的脚本

标签:

原文地址:http://www.cnblogs.com/liuwenhao/p/4503243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!