Linux系统cpufreq governors缺失schedutil如何启用
启用schedutil cpufreq调速器操作步骤
当前查询到的可用cpufreq调速器仅包含performance、powersave,是schedutil模块未加载或CPU调频驱动工作模式不兼容导致的。schedutil是Linux 4.7及以上版本内核内置的调频调速器,和内核调度器深度联动、调频响应效率更高,按以下步骤操作即可启用:
- 第一步:确认基础环境
先执行命令查看内核版本,确保版本≥4.7(低于该版本需要先升级内核才能使用schedutil):uname -r
再执行命令查看当前使用的调频驱动:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver - 第二步:尝试直接加载schedutil模块
执行模块加载命令:modprobe cpufreq_schedutil
加载完成后重新查看可用调速器列表:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
如果输出中已经出现schedutil,直接跳到第四步设置即可;如果还是只有performance和powersave,继续下一步调整驱动模式。 - 第三步:调整pstate驱动模式(Intel/AMD新平台通用处理)
如果上一步查到的驱动是intel_pstate(Intel平台默认驱动)或amd-pstate(AMD Zen2及以上新平台可选驱动),默认active模式下仅支持performance和powersave两个调速器,需要切换到passive模式才能使用schedutil等通用调速器:- 编辑grub配置文件,默认路径为
/etc/default/grub - 找到
GRUB_CMDLINE_LINUX_DEFAULT配置行,在引号内追加对应启动参数:- Intel平台追加:
intel_pstate=passive - AMD平台使用amd-pstate驱动的追加:
amd_pstate=passive
修改参考示例:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=passive" - Intel平台追加:
- 保存文件后执行命令更新grub配置:
- Debian/Ubuntu系执行:
update-grub - Fedora/Arch/CentOS系执行:
grub-mkconfig -o /boot/grub/grub.cfg(EFI引导的设备注意按实际引导分区路径调整输出文件位置)
- Debian/Ubuntu系执行:
- 重启设备,重启后再次查看可用调速器列表,就能看到schedutil选项。
- 编辑grub配置文件,默认路径为
- 第四步:切换使用schedutil调速器
临时生效(重启后失效)直接执行:cpupower frequency-set -g schedutil
永久生效按发行版选择对应方式:- Debian/Ubuntu:先执行
apt install cpufrequtils安装工具,编辑/etc/default/cpufrequtils文件,将GOVERNOR字段值改为schedutil即可 - Arch/Fedora等使用cpupower服务的发行版:安装cpupower包后编辑
/etc/conf.d/cpupower,将governor配置项改为schedutil,执行systemctl enable --now cpupower设置开机自启 - 使用tuned调优服务的RHEL/CentOS系:可以直接切换到schedutil对应的调优档,或自定义tuned配置文件指定调速器为schedutil。
- Debian/Ubuntu:先执行
注意:切换pstate到passive模式后,会同时解锁ondemand、conservative等其他通用cpufreq调速器,可根据自身需求选择使用。
内容的提问来源于stack exchange,提问作者2017561-1
相关产品推荐
相关产品推荐

