top vs / proc / pid / stat,这对于cpu%使用计算更好

时间:2013-06-16 14:34:58

标签: android linux linux-kernel

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

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

3 个答案:

答案 0 :(得分:1)

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

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

对于“cat / proc / pid / stat”,进程的当前状态将打印在屏幕上。此操作仅执行一次,但对于“顶部”,直到用户按退出,状态将打印在屏幕上。
此命令“cat / proc / pid / stat”比特定进程更具体,而不是打印所有进程的状态。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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