shell cmd'top'是监控进程cpu使用情况的好方法吗?

时间:2015-08-26 11:33:48

标签: shell cpu-usage process-monitoring

我编写了一个简单的shell脚本来监视linux中的进程。

echo `date` ':' `top -d 3 -n 3 -b | grep swiftd | awk -F' ' '{print $9 }'` >> results.log

我用crontab每5分钟运行一次。一切都很好,直到我发现我的results.log,

有问题
Wed Aug 26 18:06:01 CST 2015 : 4.0 3.3 3.3 
Wed Aug 26 18:07:01 CST 2015 : 4.0 3.3 3.7 
Wed Aug 26 18:08:01 CST 2015 : 5.9 3.7 3.3 
Wed Aug 26 18:09:01 CST 2015 : 97.1 3.7 3.0 
Wed Aug 26 18:10:01 CST 2015 : 4.0 3.3 3.7
Wed Aug 26 18:11:01 CST 2015 : 4.0 3.3 3.3
Wed Aug 26 18:12:01 CST 2015 : 2.0 3.7 3.0 

在第四行中,cpu使用率变为97.1%,然后在下一次迭代中为3.7%。似乎用法在短时间内达到了顶峰。

我的困惑在于,

  1. 是否有任何其他原因导致进程突然100%使用cpu?
  2. 'top'是监控进程cpu使用情况的好命令吗?
  3. 如何为流程获得更好的平均CPU使用率

0 个答案:

没有答案