我正在开发一个程序,该程序显示在装有Linux的计算机上运行的每个进程的百分比。问题是我得到的百分比通常与top
命令显示的百分比不同。
我在网上搜索了许多小时,但发现几乎总是相同的公式100 * (stime + utime)/ (totalCPUTime - processStartTime)
。
我得到totalCPUTime,将/proc/stat
中的7个CPU值相加,而stime
,utime
和processStartTime
是采用/proc/<pid>/stat
形式的值。
难道我做错了什么?
我在多核计算机上运行程序的事实是否会以某种方式影响结果?
somone知道最高层如何计算此值吗?
谢谢
最佳答案
如果您想知道什么顶部,请查看源代码:)
top.c cvs repository
procps Homepage