节能在降低能耗的同时也意味着性能的下降。下面介绍的是在 BIOS 这个层面涉及到的一些节能开关,比较具有通用性。
1. Turbo boost
跟超频有关,详细的请看这里。
2. C1E, C state
hardwaresecrets 有一篇介绍 Cx state 的文档,比 wiki 上的介绍的更详细。
3. cpu stepping
CPU 版本控制的机制
tomshardware 的这篇测试量化了使用了各种节能设置后,对 SSD 的影响,仅仅开启了 C1E 对整体的性能没有特别大的影响,如果是将所有跟 C states、Active State Power Management相关选项的都开启,会看到明显的下降。另外,文章建议开启 C1E 模式,这个对整体的性能没有太大的影响,同时又能降低功耗。另外需要注意的是,这些功耗的开关对于 HHD 并没有显著的提高,仅对 SSD 有效。
dell 官方有一篇 《low latency env》的参考配置,里面涉及到不少 BIOS 层面的东西。主要分为 "System Profile Setting" 以及 "Memory setting" 和 "Processor Setting" 这三大块,其中效果最明显的应该是第一个 "System Profile Setting"。这个会在下面的 syscfg 里面提到。
关于 syscfg 这个工具,几个常用的参数:
查看 sysprofile 指令的解释:
# ./syscfg -h –SysProfile
导入导出:
# ./syscfg -i/o config
下面的几个就是上面官方文档提到的几个参数:
–QpiSpeed
–logicproc
–virtualization
–hwprefetcher
–adjcacheprefetch
–memtest
–turbomode
–cpuc1e
–cstates
–MonitorMwait
–MemPatrolScrub
–MemRefreshRate
–SysProfile
对于 DELL 的 BIOS 来说,一共有 5 类不同的 profile setting。默认是 "performance per watt(dapc)",而我们更关心的是 "performance" 这个 profile,他表示如下的几个指令的组合:
1. CPU Power Management = Maximum Performance
2. Memory Frequence = Manimum Performance
3. Turbo Boost = Enabled
4. C1E = Disable
5. C states = Disable
6. Monitor/Mwait = Enable
7. Memory Patrol Scrub = Standard
8. Memory Refresh Rate = 1x
9. Memory Operating Voltage = auto
10. Collabrative CPU Performance Control = Disable
调整之后,效果应该还是很明显的,可以看 serverfault 上的这个 issue。
上面所有的如果想批量执行的话,放到 dtk 里面就好了。
另外,有点要提到的是,dmesg 经常报 "Core power limit normal" 的 log,access 上并没有写明问题根源,后来发 ticket 确认,对机器没有影响,只是 BIOS 为了节能而调控 CPU 的一种方式。如果不想看到此类信息,直接将 BIOS 设置成 "performance" 而非 "performance per watt(dapc)" 就好了。
本文转自 guowang327 51CTO博客,原文链接:http://blog.51cto.com/guowang327/1962816,如需转载请自行联系原作者