原因:这属于 ServerFault 而不是 StackOverflow- 我已经有了获取该值的程序,我正在查询返回的值及其含义。
我有一个内部程序,用于审计我们公司的电脑,它检查的一项内容是处理器的速度。为此,它会查询Win32_处理器WMI 类并获取現在時鐘速度。
我们今天在处理数据时发现一个异常,一些速度报告不正确(例如,CurrentClockSpeed 显示 1.0GHz,而 CPU 名称显示英特尔(R) Core(TM)2 CPU T5600 @ 1.83GHz[确认它确实是 1.83GHz])。我在网上查了一下,发现这篇博文这也许可以解释正在发生的事情。
我最初的想法是,我可以改变程序来获取最大时钟速度代替現在時鐘速度, 但微软的文档没有明确定义它将返回什么。我的意思是,它将返回一个值,该值是它的实际最大速度(假设它被超频),但它通常不会以这个速度运行,还是它将返回我期望的值,即它在正常(非超频)条件下的最大速度?
答案1
如今的处理器已经相当智能,能够满足自身需求,尤其是在笔记本电脑中。如果处理器的主频为 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。