0

计算进程消耗的 cpu_time 哪个更好更精确?

a) 顶部 b) cat /proc/pid/stat

4

3 回答 3

1

“top”和“cat /proc/pid/stat”的输出在任何给定时间点都是相同的。
不同之处在于输出的显示方式。

对于 "top" ,输出动态显示在屏幕上。输出无法保存到文件中,其中未知字符被写入文件中,因为它是动态的。屏幕上打印的输出具有所有进程的状态。

对于 "cat /proc/pid/stat" ,进程的当前状态打印在屏幕上。这仅执行一次,但对于“顶部”,直到用户按下退出,状态才会打印在屏幕上。
这个命令“cat /proc/pid/stat”比打印所有进程的状态更具体到一个特定的进程。

于 2013-06-16T17:34:06.850 回答
1

Top 可以使用批处理模式选项在脚本中使用。例如,尝试: top -b -n 1 但是,您要么想使用-n 2仅从第二个报告中获取当前信息,要么先设置 CPULOOP=1,然后使用-n 1. 有关更多信息,请参见:http ://linux.die.net/man/1/top 。

于 2014-08-05T20:22:10.053 回答
0

好吧,top使用/proc文件系统,所以任何一个都可以,但top会为你解析 stat 文件,所以我会使用top. 请注意,top输出的是动态列表,因此在脚本中,您应该使用其他方式。

于 2013-06-16T15:04:43.667 回答