Linux - cpupower优化cpu主频
前言
linux内核支持调节CPU主频,降低功耗,已到达节能的效果。对于移动设备和笔记本来说,在没有接通电源的时候,续航是很重要的。
通过选择系统空闲状态不同的电源管理策略,可以实现不同程度降低服务器功耗。但是,更低的功耗策略意味着 CPU 唤醒更慢对性能影响更大。对于对时延和性能要求高的应用。
对于服务器,一般都是接着电源的,而且要求性能比较高,因此,建议关闭 CPU 的动态调节功能,禁止 CPU 休眠,并把 CPU 频率固定到最高。
一般在服务器 BIOS 中修改电源管理为 Performance,如果发现 CPU 模式为 conservative 或者 powersave,可以使用 cpupower 设置 CPU Performance 模式,效果也是相当显著的。
调节策略
- performance:将CPU频率固定工作在其支持的最高运行频率上,不动态调节,可以获取到最大的性能。
- powersave: 将 CPU 频率设置为最低的所谓 “省电” 模式,CPU 会固定工作在其支持的最低运行频率上。因此这两种 governors 都属于静态 governor,即在使用它们时 CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。这两种 governors 对应的是两种极端的应用场景,使用 performance governor 是对系统高性能的最大追求,而使用 powersave governor 则是对系统低功耗的最大追求。
- Userspace:最早的 cpufreq 子系统通过 userspace governor 为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节 CPU 运行频率使用。
- ondemand:按需快速动态调整 CPU 频率, 一有 cpu 计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;ondemand:userspace 是内核态的检测,用户态调整,效率低。
- conservative: 与 ondemand 不同,平滑地调整 CPU 频率,频率的升降是渐变式的, 会自动在频率上下限调整,和 ondemand 的区别在于它会按需分配频率,而不是一味追求最高频率;
可用的策略
在不同的系统上,并不是所有的策略都是可用了,可以通过/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors查看支持的策略
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors performance powersave
查看当前生效的策略
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor powersave
查看当前CPU频率
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 900022
¥79.2
领2元券
cpupower
cpupower 是一组为辅助 CPU 调频而设计的用户空间工具。
1、查看当前所有CPU的信息
cpupower -c all frequency-info
2、设置所有CPU为性能模式
cpupower -c all frequency-set -g performance
3、设置所有CPU为节能模式
cpupower -c all frequency-set -g powersave
总结
如果是笔记本需要节能模式,直接安装tlp即可,默认策略,就可以省电了。如果是服务器,一定记得切换到性能模式,不然浪费资源。
相关推荐
zhcscs 2012-01-12
架构师必备技能 2014-06-02
Beibeizhao 2013-08-12
lfbooo 2013-05-09
前端JavaScript 2009-04-20
weiyang 2018-03-22
辞客堂数位杂谈版 2018-04-03
sduliding 2020-01-07
WingZhang 2018-05-22
凌燕 2015-01-18
WingZhang 2015-06-27
lfbooo 2014-06-04
chenchen0 2014-02-05
lulalei 2012-09-28
lightindark 2012-09-28
MobileDeviceTalks 2018-01-03
数码控 2016-12-27
82632713 2016-12-14
数码控 2016-11-22