我想获得C中应用程序的总CPU使用率,总CPU使用率就像我们在TaskManager中得到的一样... 我想知道...对于windows和linux :: current所有CPU使用率进程......正如我们在任务管理器中看到的那样。如何获得C中的CPU使用率?
5
A
回答
10
这是特定于平台的:
- 在Windows中,你可以使用
GetProcessTimes()
功能。 - 在Linux中,您实际上可以使用
clock()
。
这些可用于测量两个时间间隔之间所花费的CPU时间量。
编辑:
为了让CPU消耗(百分比),则需要通过操作系统会将逻辑内核的#总的CPU时间划分,然后由总壁分开 - 时钟时间:
% CPU usage = (CPU time)/(# of cores)/(wall time)
获取逻辑核心的#也特定于平台的:
- 的Windows:
GetSystemInfo()
- 的Linux:
sysconf(_SC_NPROCESSORS_ONLN)
1
在POSIX下,你想要的getrusage(2)的ru_utime场。使用RUSAGE_SELF仅用于调用进程,RUSAGE_CHILDEN用于所有终止并等待(2)已编辑的子进程。 Linux也只支持RUSAGE_THREAD调用线程。如果您想要系统时间,可以使用ru_stime,可以使用ru_utime来总结主动运行的总时间(而不是挂钟时间)。
1
它通常是特定于操作系统的。
您可以使用clock函数,返回clock_t
(某些整数类型,也许可能是long
)。在Linux系统上,它测量CPU时间(以微秒为单位)。
-1
这是我正在寻找的确切的东西。以我的方式操作它,我成功运行它。
相关问题
- 1. 如何在c#中获得CPU频率
- 2. 如何获得Qt的CPU使用率
- 3. 如何获得Linux中的总CPU使用率(C++)
- 4. 如何获得C#中每个处理器的CPU使用率?
- 5. 无法获得在C#中使用的PerformanceCounter CPU占用率 - System.FormatException
- 6. 如何获得xen中的cpu内核使用率?
- 7. 如何在C++中使用Sigar库获得CPU使用率百分比
- 8. 如何使用C++在WMI中获取CPU使用率?
- 9. KSH脚本来获得CPU使用率
- 10. 使用来自C的系统调用,如何获得CPU的利用率?
- 11. c#获得高CPU使用率的进程
- 12. 如何获得每个线程的CPU使用率在Mac OSX
- 13. 如何获得超过2个核心的CPU使用率?
- 14. 如何获得iPhone/iPad的CPU使用率?
- 15. 如何获得Windows数据,如CPU使用率等?
- 16. 如何使用Javascript或Java获得CPU利用率
- 17. 如何获取CPU使用率?
- 18. 如何扩展C程序以获得所有内核的CPU使用率
- 19. 如何在jsp上获得CPU使用率
- 20. 如何获得CPU和内存使用率
- 21. 如何在C中获得cpu状态#
- 22. C++,CPU使用率过高
- 23. 线程c中的CPU使用率高#
- 24. 如何获得akka actor的CPU利用率
- 25. 我如何使用matlab主动获得更高的CPU使用率
- 26. 在(linux)中获得apache总CPU使用率
- 27. 为什么我用“clock()”获得过多的CPU使用率?
- 28. 如何从C++的Windows中检索总系统CPU使用率?
- 29. CPU使用率( “”)
- 30. CPU使用率
什么操作系统?你想知道你的过程或其他过程的答案吗? – 2011-12-14 08:58:58
好吧,在Windows(准确的说是7)...我想知道...当前所有进程的总CPU利用率.....正如我们在任务管理器中看到的一样。 – Ronin 2011-12-14 10:24:32
请编辑问题以反映这个新的信息。 – 2011-12-14 10:31:12