【问题标题】:How to get current CPU clock speed same as in Task Manager?如何获得与任务管理器中相同的当前 CPU 时钟速度?
【发布时间】:2021-11-27 09:43:58
【问题描述】:

如何获得与任务管理器中相同的当前 CPU 时钟速度? WMI CurrentClockSpeed 返回的值小于或等于 MaxClockSpeed 并且与任务管理器的时钟速度不完全相同。

【问题讨论】:

  • 如果轮询速度足够快,您会发现 CPU 要么 100% 处于使用状态,要么处于空闲状态。任务管理器按特定间隔轮询,并返回该期间的平均值。
  • @Scott 这是另一个好点......简单地轮询值的行为会影响值。
  • @PanagiotisKanavos 我打算编辑说“可能”而不是“将”......但我会让它保持不变......这个假设是关于斯科特的“如果你投票足够快”

标签: c# .net


【解决方案1】:

由于时钟速度变化如此频繁,比任务管理器更新的速度要快得多,因此您不太可能获得相同的值。

【讨论】:

  • 但是为什么 WMI 时钟速度没有高于最大速度?在TaskManager中你可以看到在高性能模式下它变得更高
  • @Spirosi 我不确定原因,但我能够找到这个供您尝试...stackoverflow.com/a/57873417/1048799
【解决方案2】:

它来自 PerformanceCounter 通过导入 System.Diagnostics 模块。代码示例请参考link。只需更改参数以从“处理器信息”、“% 处理器性能”中获取值,然后通过等式 CPU 频率 =“% 处理器性能”* 处理器基本频率计算 CPU 频率。您可以使用 Windows 内置应用程序“性能监视器”来检查更多 PerformanceCounter 索引以找到您想要的。

【讨论】:

    猜你喜欢
    • 2018-12-22
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多