Paper plane - 2023年3月11日
type: channel
link: https://blog.ttoof.xyz/index.php/2023/03/11/
description: Your description here.
items: Linux：CPU频率调节模式

Linux：CPU频率调节模式
type: item
date: 2023-03-11T23:52:00+08:00
description: 在Linux中，内核的开发者定义了一套框架模型来完成CPU频率动态调整这一目的，它就是CPU Freq系统。如下为CPU的几种模式（governor参数）： ondemand： 系统默认的超频模式，按需调节，内核提供的功能，不是很强大，但有效实现了动态频率调节，平时以低速方式运行，当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低，同时也能节约电能和降低温度。一般官方内核默认的方式都是ondemand。 interactive： 交互模式，直接上最高频率，然后看CPU负荷慢慢降低，比较耗电。Interactive 是以 CPU 排程数量而调整频率，从而实现省电。InteractiveX 是以 CPU 负载来调整 CPU 频率，不会过度把频率调低。所以比 Interactive 反应好些，但是省电的效果一般。 conservative： 保守模式，类似于ondemand，但调整相对较缓，想省电就用他吧。Google官方内核，kang内核默认模式。 smartass： 聪明模式，是I和C模式的升级，该模式在比interactive 模式不差的响应的前提下会做到了更加省电。 performance： 性能模式！只有最高频率，从来不考虑消耗的电量，性能没得说，但是耗电量。 powersave 省电模式，通常以最低频率运行。 userspace： 用户自定义模式，系统将变频策略的决策权交给了用户态应用程序，并提供了相应的接口供用户态应用程序调节CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置 Hotplug： 类似于ondemand, 但是cpu会在关屏下尝试关掉一个cpu，并且带有deep sleep，比较省电。 在不同的系统上，并不是所有的策略都是可用了，可以通过/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors查看支持的策略cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors查看当前生效的策略cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 查看当前CPU频率cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq cpupower 是一组为辅助 CPU 调频而设计的用户空间工具。1、查看当前所有CPU的信息cpupower -c all frequency-info 2、设置所有CPU为性能模式cpupower -c all frequency-set -g performance 或者cpupower frequency-set -g performance 3、设置所有CPU为节能模式cpupower -c all frequency-set -g powersave 查看当前cpu运行频率：cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 或者cat /proc/cpuinfo | grep -i "cpu mhz"