Linux的CPU调速器


都说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里跳吧

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。

更多相关文章

  1. Java设计模式之Command在Android中的应用
  2. Android和java平台 DES加密解密互通程序及其不能互通的原因
  3. Android(安卓)内功心法(1.4)——android常用设计模式之代理模式
  4. Android(安卓)代理模式
  5. 浅学设计模式之观察者模式及在android中的应用
  6. activity的几种启动模式
  7. Android(安卓)9.0 (P版本) MTK平台原生的省电模式自动开启
  8. Android8.0多窗口调研
  9. Android(安卓)Zxing 扫描条码实现竖屏模式(portrait mode) 摄像

随机推荐

  1. 上手android的一点心得吧
  2. Android(安卓)解决崩溃后重启的问题
  3. Android(安卓)使用sharedpreferences、AC
  4. Android使用GreenDAO数据库的基本操作及
  5. AppCompat发布两年了,还没了解?
  6. android camera系统介绍(kernel部分)
  7. android: scrollbarStyle
  8. App Inventor for Android(安卓)Button单
  9. 1.1LinearLayout
  10. Android 重构 | 持续优化统一管理 Gradle