确定WinCE中的CPU使用率

时间:2010-06-09 16:18:20

标签: c++ windows-ce cpu-usage

我希望能够在Wince下运行的C ++程序中获得当前的%CPU使用率。

我发现this link说明了源代码的位置,但我在平台构建器安装中找不到它 - 我希望这是因为它不是Windows Automotive平台。

有谁知道我在哪里可以找到这个源代码或者(甚至更好)知道如何直接获取这些信息?即什么DLL /函数调用make等。

4 个答案:

答案 0 :(得分:5)

由于CE中不存在GetProcessTimes,您必须计算它。

您必须从the toolhelp APIs开始枚举进程中的进程和线程。然后,为每个线程调用GetThreadTimes并添加所有线程。

请记住,计算此信息的行为将影响CPU利用率。

答案 1 :(得分:1)

我发现GetIdleTime(或WEC7或更新的CeGetIdleTimeEx)可以很好地计算系统范围的处理器使用率。用于计算处理器空闲时间百分比的示例代码显示在GetIdleTime MSDN page上。显然,可以通过从100减去空闲时间百分比来计算处理器利用率百分比。

MSDN页面确实警告对GetIdleTime的支持取决于OAL实现。

答案 2 :(得分:0)

请注意,使用toolhelp API计算CPU使用率时,需要进行两次测量,然后计算差异。这样做时,你不会知道在第二个样本之前终止的任何线程的CPU数量。

因此,经常创建短期线程的应用程序将无法在结果中正确显示。

答案 3 :(得分:0)

您可以查看Remote Task Monitor。它将让您获得流程(或线程)的当前%CPU使用率,正是您所需要的。它的重量也很轻,不会对您的设备造成太大影响。