PVE环境下CPU等设备的省电调整
安装依赖
安装 cpupower
apt update && apt install linux-cpupower powertop -y
查看当前电源状态
# 查看当前进程耗电情况
# 进入后按 <TAB> 键可以切换选项卡
powertop
# 查看支持的 CPU 电源模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
# 查看当前的 CPU 电源模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
不同调速器的主要区别如下:
- conservative:在节能和性能之间取得平衡,CPU频率随负载逐步增加或减少,适合不需要快速频率切换的应用。通常用于需要相对稳定但低功耗的环境。
- ondemand:根据当前CPU负载动态调整频率,负载高时迅速升频,负载低时迅速降频。适合负载波动较大的任务,节省功耗的同时保证性能。
- userspace:允许用户或应用程序通过手动方式设置CPU频率。需要用户提供额外的控制程序,适合希望精确控制CPU频率的场景,但需一定技术背景来调整。
- powersave:将CPU频率锁定在最低值,最大限度节约电量。适合极度节电的应用,但在性能需求较高时可能会导致卡顿或延迟。
- performance:将CPU频率固定在最高值,提供最佳性能,不考虑功耗。适合需要持久高性能的应用,但功耗相对较高。
- schedutil:是结合了调度器和调频器的方案,基于内核调度决定CPU频率变化。它在保持性能的同时更高效地节约电量,适合更现代的设备和多线程应用。
每种调速器都有其特定的适用场景,选择时可根据需求侧重性能、节能或手动控制等方面。
在省电需求下,powersave
最节能,conservative
适合省电且保持一定响应性,而schedutil
则适合复杂负载和省电之间的智能调节。
常用命令
# CPU实时频率查看
watch -n 1 cpupower monitor
# 查看当前所有CPU的信息
cpupower -c all frequency-info
# 设置所有CPU为节能模式
cpupower -c all frequency-set -g powersave
# 设置所有CPU为性能模式
cpupower -c all frequency-set -g performance
参考与鸣谢
https://pve.sqlsec.com/4/6/
https://foxi.buduanwang.vip/virtualization/pve/bestpractice/3031.html/