参考:
http://askubuntu.com/ questions/22021/how-to-log- cpu-load
里面还介绍了怎么log特定进程的 cpu占用率。
要修改里面比较长的那一条命令。我试了半天,
假设在client上运行的命令行命令为 python testcpu.py, 你现在要log那个程序的 CPU占用率情况
以下命令
ps -e -o pcpu,pmem,args --sort=pcpu | grep " python testcpu.py" | cut -d" " -f1-4|tail
会显示
0.0 0.0
0.2 0.0
第一行无关。第二行的0.2表示 CPU占用率。只取第二行:
ps -e -o pcpu,pmem,cputime,args --sort=pcpu | grep "python testcpu.py" | cut -d" " -f1-5|sed -n '$p'
然后是需要找到运行的当前时刻:
date +'%s%N'
1354196938812272763
把时间和占用率加到一起:
echo `date +'%s%N'` `ps -e -o pcpu,pmem,args --sort=pcpu | grep "python testcpu.py" | cut -d" " -f1-4|sed -n '$p'`
让它每0.1秒运行一次,更新你的log文件/tmp/a.
while true; do( echo `date +'%s%N'` `ps -e -o pcpu,pmem,args --sort=pcpu | grep "python testcpu.py" | cut -d" " -f1-4|sed -n '$p'`) >> /tmp/a.log; sleep 0.1; done