(ZZ)Solaris如何配置SpeedStep

1028阅读 0评论2012-12-21 随风飘来
分类:

1. 什么是SpeedStep

为了延 长笔记本电脑上电池的使用寿命,Intel的CPU采用了称为SpeedStep的技术,SpeedStep技术动态改变CPU的倍频以降低其工作频率, 甚至降低核心电压。这样当CPU工作在较低频率时,就可以节省耗电量,减小发热,以及降低风扇噪音。起初支持SpeedStep技术的CPU有两种工作模 式,一种是外接交流电,CPU工作在较高频率的最优性能模式(maximum performance mode);另一种是用电池供电,CPU的工作在较低频率的电池优化模式(battery-optimized mode)。笔记本根据外接电源自动选择工作模式。随后,Intel发布了增强的SpeedStep技术(Enhanced SpeedStep),系统根据当前负载自动改变CPU的频率和核心电压。在此基础上,Intel进一步增强了SpeedStep技术(Enhanced Improved SpeedStep),CPU支持多种工作频率和核心电压,在两种基本工作模式之间增加了多种中间模式,系统根据当前负载自动切换CPU的工作模式。

2. Solaris上配置SpeedStep


OpenSolaris Express/Developer Edition支持Enhanced SpeedStep技术。其支持的Intel CPU包括

有一个简单的方法判断某CPU是否支持SpeedStep技术,就是运行kstat查看cpu_info模块的supported_frequencies_Hz属性。
$ kstat -m cpu_info -s supported_frequencies_Hz
module: cpu_info instance: 0
name: cpu_info0 class: misc
supported_frequencies_Hz 2800000000:3200000000


module: cpu_info instance: 1
name: cpu_info1 class: misc
supported_frequencies_Hz 2800000000:3200000000
如上所示,如果CPU支持的频率数多于一个,就说明Solaris支持该CPU上的SpeedStep技术。

那么如何激活SpeedStep呢?在/etc/power.conf配置文件中,修改关键字cpupm和cpu-threshold如下。
cpupm            enable
cpu-threshold 15s
这样,如果系统空闲超过15秒,CPU就会降低工作频率。用kstat检查cpu_info模块的current_clock_Hz属性。
$ kstat -m cpu_info -s current_clock_Hz 
module: cpu_info instance: 0
name: cpu_info0 class: misc
current_clock_Hz 2800000000

module: cpu_info instance: 1
name: cpu_info1 class: misc
current_clock_Hz 2800000000
和Intel的SpeedStep技术相对应的是AMD的PowerNow技术。然而目前Solaris并不支持PowerNow。
上一篇:Solaris clocks and the OS halt
下一篇:BIOS里的C1E与SpeedStep技术有什么区别