最新消息:

Linux的CPU调速器

CPU admin 3411浏览 0评论

都说Android手机的耗电和发热是与生俱来的,作为一个Android用户,我也深受其苦。于是刷了一个非官方的固件——Cyanogenmod。既然说是非官固件,总有特别的地方,在省电和性能的均衡方面,CM特地的设置了一个“调速器”的选项。Android本身就是一个Linux的内核,调速器的设置本身就是Linux内核中继承而来的。

在桌面版本的Linux中,一般默认已经安装了调速器的控制台,并可以通过类似gnome控制栏插件的方式简单的启用和调整。对于Server版本,由于定位不同,这样的设置意义不大,但可以手工安装。考虑到要做“绿色IT”,个人觉得在一定范围内适当的使用不但不会影响性能,而且还可以降低主机温度,达到延长主机寿命的功效。具体方法如下:

sudo apt-get install cpufrequtils

手工调整CPU频率,需要CPU支持,虽然现如今大多数CPU都支持类似的技术(Speed Step之Intel和nCool之AMD),但恰巧我有一台ATOM芯片的机器就不支持。同样需要注意的是,不是超频,而是降频,指望这种方法为CPU超频的话我劝您还是直接去 BIOS里跳吧 :mrgreen:

cpufreq-selector -f  频率数,单位是kHz
cpufreq-set -d 最高频率
cpufreq-set -u 最低频率

查看CPU状态,不需要太多解释了吧

cpufreq-info

设置CPU运行模式,这才是主要的。系统默认会为CPU设置几种模式方便直接切换

cpufreq-set -g 模式类型

模式类型

  • powersave,省电模式,简洁明了,就是最省电的状态,CPU始终工作在最低频率上。
  • userspace,用户定制,手工定制频率的方式。
  • ondemand,守护模式,自动根据系统负载调整模式,负载越高,频率越高。这是绝大多数系统选择的模式。
  • conservative,保守模式,有些类似于ondemand,但不同于ondemand一有负载就提高频率到最高,次模式尽量采用较低的模式,直至满载无法承受才提升频率。
  • performance,性能模式,系统始终工作在最高频率之上。
就拿我的Android手机为例,默认工作在ondemand模式,CPU主频是600mHz(不是新机器,让您见笑了)。下设245, 400, 480, 600共计4个档位。未调整前,大约有超过60%的时间系统工作在600mHz的档位上满负荷工作,而245的档位时间不足1%,耗电和温度自然降不下来。由于手机不同于台式机和服务器,待机时间相比性能而言更为重要——至少我的需求如此,而在大部分时间都应该处在相对空闲的状态下,满负荷大可不必。于是将调速器模式设置为conservative,一周后的统计,245的档位上占据了接近80%,而600的档位不足13%,发热也得到控制,待机时间至少增加了1/3。
 

转载请注明:爱开源 » Linux的CPU调速器

您必须 登录 才能发表评论!