使用C计算Linux多核计算机上的CPU使用率

时间:2013-06-01 11:09:34

标签: c linux cpu proc

我正在开发一个程序,显示在使用Linux的计算机上运行的每个进程的百分比。问题是我获得的百分比通常与top命令显示的百分比不同。

我在网上搜了好几个小时,但我找到的几乎总是相同的公式

100 * (stime + utime)/ (totalCPUTime - processStartTime)

我将totalCPUTime总计为/proc/stat中的7个CPU值,而stimeutimeprocessStartTime是从/proc/<pid>/stat获取的值。 难道我做错了什么? 我在多核机器上运行程序的事实是否会影响结果?

somone知道top如何计算这个值吗?

谢谢

1 个答案:

答案 0 :(得分:1)

如果你想知道什么是top,你应该看看源代码:)

top.c cvs repository

procps Homepage

相关问题