我正在开发一个程序,显示在使用Linux的计算机上运行的每个进程的百分比。问题是我获得的百分比通常与top
命令显示的百分比不同。
我在网上搜了好几个小时,但我找到的几乎总是相同的公式
100 * (stime + utime)/ (totalCPUTime - processStartTime)
。
我将totalCPUTime总计为/proc/stat
中的7个CPU值,而stime
,utime
和processStartTime
是从/proc/<pid>/stat
获取的值。
难道我做错了什么?
我在多核机器上运行程序的事实是否会影响结果?
somone知道top如何计算这个值吗?
谢谢