我正在尝试使用 top 命令监控我的 CentOS 进程,以查看是否有任何进程的 CPU 使用率大于 X%,下面是我用来查看是否有任何进程的 CPU 使用率大于 10% 的命令。
top | awk '{if (NF == 14) {
if ( int($10) >= 10 ) { print $0; system("ps -ef | grep " $13); }
}}' >> top.txt
上面的命令似乎会遗漏一些结果。在上述命令运行时,我打开另一个会话并执行 top 命令。我注意到有时我看到某些进程的 CPU 使用率大于 10%,但上述命令无法捕获结果。
不确定是否有更好的方法,或者我上面的脚本是错误的。
非常感谢!
答案1
该top
命令不是解析数据的最佳选择。请尝试使用sar
(如果未默认安装,请运行yum install sysstat
)或iostat -c
。