我编写了一个简单的 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%。使用量似乎在短时间内达到了顶峰。
我的困惑是,
- 这是进程突然获得 100% cpu 使用率的任何其他原因吗?
- 'top' 是监控进程'cpu 使用情况的好命令吗?
- 如何为进程获得更好的平均 CPU 使用率