如何在C中获得CPU使用率?

Ron*_*nin 6 c cpu

我想用C语言获取应用程序的总CPU使用率,就像我们在TaskManager中得到的总CPU使用量...我想知道......对于windows和linux ::当前所有进程的总CPU利用率.. ......正如我们在任务管理器中看到的那样.

Mys*_*ial 10

这是特定于平台的:

  • 在Windows中,您可以使用该GetProcessTimes()功能.
  • 在Linux中,您实际上可以使用clock().

这些可用于测量两个时间间隔之间的CPU时间量.

编辑:

要获得CPU消耗(以百分比表示),您需要将CPU总时间除以操作系统看到的逻辑核心数,然后除以总挂钟时间:

% CPU usage = (CPU time) / (# of cores) / (wall time)
Run Code Online (Sandbox Code Playgroud)

获取逻辑核心数也是特定于平台的: