【问题标题】:Calculating CPU usage on a Linux multicore machine using C使用 C 计算 Linux 多核机器上的 CPU 使用率
【发布时间】:2013-06-01 11:09:33
【问题描述】:

我正在开发一个程序,该程序显示在装有 Linux 的机器上运行的每个进程的百分比。问题是我得到的百分比经常与top 命令显示的百分比不同。

我在网上搜索了很多小时,但我发现的几乎总是相同的公式

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

我得到了在 /proc/stat 中对 7 个 CPU 值求和的总 CPUTime,而 stimeutimeprocessStartTime 是取自 /proc/<pid>/stat 的值。 难道我做错了什么? 我在多核机器上运行程序这一事实是否会以某种方式影响结果?

有人知道顶部是如何计算这个值的吗?

谢谢

【问题讨论】:

    标签: c linux cpu proc


    【解决方案1】:

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

    top.c cvs repository

    procps Homepage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-13
      • 2011-08-19
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 1970-01-01
      相关资源
      最近更新 更多