Windows perfmon高C3时间和高C3转换/秒关注?

我有服务器正在运行的应用程序,大多是闲置(60-70%闲置CPU)。 它们也显示出很高的C3转换/秒(每个核心2.5-3.5k /秒)以及高的C3时间(_Total中的58%+)

C3时间应该是低功耗状态。 我应该担心我的服务器正在从25K次/秒(〜3K×8核心)

(Windows Server 2008 R2)

您的CPU进入这些睡眠状态,因为它没有足够的工作来保持它的繁忙。 这是正常的行为。

将CPU从睡眠状态(如C3)中退出会有一些细微的延迟,但是这种情况是在给没有任何事情做CPU的CPU上供电时浪费能源的。

如果你运行一个对延迟非常敏感的应用程序,可能需要立即从空闲状态“唤醒”(比如高频交易,实时模拟等)。你可能要考虑禁用处理器的功耗,节约function。 (烧一些树,踢一些回收箱为什么你在这里,为什么不遐…)

如果你不喜欢,你可以在计算机的BIOS中禁用C3(和其他C状态)。

同时检查Windows中的电源计划,并确保它设置为高性能。

来自Perfmon的C3电源状态:

显示处理器在C3低功耗空闲状态下的时间百分比。 %C3时间是处理器总空闲时间的一个子集。 当处理器处于C3低功耗空闲状态时,无法保持其高速caching的一致性。 C3功率状态是比C2更低的功率和更高的退出延迟状态。 并不是所有的系统都支持C3状态。

快速浏览各种C状态:

•C0 – 有效:CPU处于打开状态。 C0是运行状态。

•C1 – 自动停止:核心时钟closures。 C1是处理器不执行指令的状态,但是可以基本上立即返回到执行状态。 某些处理器还支持增强型C1状态(C1E)以降低功耗。

C2 – 停止时钟:核心和总线时钟closures。 C2是处理器维持所有软件可见状态的状态,但可能需要较长的时间才能唤醒。

•C3 – 深度睡眠:时钟发生器closures。 C3是处理器不需要保持其caching一致性,但保持其他状态的状态。 某些处理器在C3状态(深度睡眠,深度睡眠等)方面有所不同,唤醒处理器需要多长时间。

•C4 – 更深的睡眠:降低VCC

•DC4 – 更深的C4睡眠:进一步降低VCC

(同样,你应该能够在BIOS菜单中禁用你不想要的东西,请参考你的手册。)