首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CPU使用和CPU速度

CPU使用和CPU速度
EN

Stack Overflow用户
提问于 2016-04-11 12:21:16
回答 1查看 2.9K关注 0票数 1

在计算CPU分类时,我遇到了一种不同的行为。在我的代码中,我使用了性能计数器“处理器时间”,例如"_Total“,它似乎工作正常(也显示相同的值,Sysinternals也是这样),但是内置的任务管理器在Windows 8或10中显示的要少得多,如果电源选项允许平衡CPU速度,并且CPU在给定的时刻以较低的频率运行。

有C函数的C#吗,perf.柜台..。提供这个(任务管理器)值,或者读取当前CPU频率并以某种方式计算它?

EN

回答 1

Stack Overflow用户

发布于 2016-04-12 12:03:03

如果有人要面对这一要求,我想告诉你我是如何最终解决这个问题的:

显然,Windows 8包括一个名为"%处理器实用程序“的性能监视器计数器。这就是Win 8和Win 10作为CPU利用率的任务管理器中所显示的。与"%处理器时间“不同,”%处理器时间“通常用于显示CPU使用情况,它考虑到了CPU的平衡速度。

%处理器实用程序是指处理器正在完成的工作量,即如果处理器以其正常性能运行且从不空闲的话,它可以完成的工作量的百分比。在某些处理器上,处理器实用程序可能超过100%。

在c#代码片段中:

代码语言:javascript
复制
PerformanceCounter _cpuCounter = new PerformanceCounter("Processor Information", "% Processor Utility", "_Total");
CounterSample firstValue = _cpuCounter.NextSample();
Thread.Sleep(500);
CounterSample secondValue = _cpuCounter.NextSample();
    string cpuUsage = CounterSample.Calculate(firstValue, secondValue).ToString("0.0");
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36548573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档