CurrentClockSpeed 和 MaxClockSpeed 之间的差异

Ben*_*row 5 wmi

基本原理这属于 ServerFault 而不是 StackOverflow - 我已经有了我的程序来获取值,我正在查询返回的值及其含义。

我有一个内部程序来审核我们公司的 PC,它检查的其中一项内容是处理器的速度。为此,它查询Win32_Processor WMI 类并获取CurrentClockSpeed的值。

我们今天在玩数据时发现异常,其中一些速度报告不正确(例如,CurrentClockSpeed 表示 1.0GHz,而 CPU 名称表示Intel(R) Core(TM)2 CPU T5600 @ 1.83GHz [已确认]实际上是 1.83GHz])。我在互联网上进行了一些挖掘,发现了这篇博客文章,它可能解释了正在发生的事情。

我最初的想法是我可以更改程序以获取MaxClockSpeed而不是CurrentClockSpeed的值,但微软的文档没有明确定义这将返回什么。我的意思是这将返回一个值,它是它的实际最大速度(假设它被超频)但它通常不会运行,或者它会返回我期望的值,这是它在正常情况下的最大速度(没有超频)条件?

Mar*_*son 5

如今的处理器对它们的需求相当聪明,尤其是在笔记本电脑中。仅仅因为处理器是 1.83Ghz,如果不需要额外的功率,它可能决定通过以较低的时钟速度运行来节省功率(和热量)。

您可以通过转到 Windows 任务管理器来查看这种差异。在 Vista 和 Windows 7 中更清楚,但在 XP 中仍然存在。您将看到您的处理器速度列出了两次。当我的机器全功率运行时,它说:

Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz 2.20GHz

但是,当我的电池电量不足时,它会显示:

Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz 1.80GHz

所以基本上,你链接的那篇文章是正确的。我希望它MaxClockSpeed总是返回相同的值(在我的情况下,2.20GHz,因为这是 BIOS 报告的值)。

在超频方面,超频后的CPU的BIOS会恢复到理论最高速度,所以如果你把2.0GHz超频到2.4GHz,就会报2.4GHz。