Linux下CPU频率可以修改,主要通过cpufrequtils工具或sysfs文件系统实现,支持调整频率值、运行模式及上下限,但需注意权限、硬件支持和稳定性。
cpufrequtils(Debian/Ubuntu用apt install cpufrequtils,RHEL/CentOS用yum install cpufrequtils);sudo)。cpufrequtils命令行工具cpufreq-info可查看CPU核心数、当前频率、支持频率范围(hardware limits)、可用调参模式(available governors)等。例如:$ cpufreq-info
analyzing CPU 0:
driver: acpi-cpufreq
hardware limits: 800 MHz - 3.50 GHz
available frequency steps: 3.50 GHz, 2.80 GHz, 2.10 GHz, 800 MHz
available governors: powersave, userspace, ondemand, conservative, performance
current policy: frequency should be within 800 MHz and 3.50 GHz.
cpufreq-set -c <核心编号> -f <频率>(频率单位需为Hz/KHz/MHz/GHz,如1.2GHz或1200000K)。例如将CPU 0设置为2.4GHz:sudo cpufreq-set -c 0 -f 2.4GHz
-g参数切换模式,常用模式包括:
powersave(省电模式,保持最低频率);performance(性能模式,保持最高频率);ondemand(默认模式,有负载时提至最高频,空闲时降回最低);conservative(保守模式,逐步调整频率,平衡性能与功耗)。performance模式:sudo cpufreq-set -g performance
-d(最低频率)和-u(最高频率)限制范围,避免超频或过度降频。例如:sudo cpufreq-set -d 1.0GHz -u 3.0GHz
/sys/devices/system/cpu/cpu<编号>/cpufreq/目录,写入模式名称到scaling_governor文件。例如将CPU 0设为performance模式:echo performance | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
scaling_setspeed文件。例如:echo 2400000 | sudo tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
-c 0、-c 1……),可使用循环脚本批量操作;/etc/default/cpufrequtils文件(如设置GOVERNOR="performance"),然后重启cpufrequtils服务:sudo systemctl restart cpufrequtils
powersave省电,游戏/设计等高性能需求用performance,兼顾平衡选ondemand或conservative。通过上述方法,可灵活调整Linux下CPU的运行频率,满足不同场景的性能或功耗需求。