pve基于debian,基本debian系通用
首先安装linux-cpupower这个工具
apt update
apt install linux-cpupower -y
#赋予权限
chmod +s /usr/bin/cpupower
#查看cpu可用的模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
#设置到性能模式
cpupower -c all frequency-set -g performance
#查看当前所处模式
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
#设置到省电模式
cpupower -c all frequency-set -g powersave
几种模式的介绍:
performance: 顾名思义只注重效率,将 CPU 频率固定工作在其支持的最高运行频率上,而不动态调节。
Userspace: 最早的 cpufreq 子系统通过 userspace governor 为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节 CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置
powersave: 将 CPU 频率设置为最低的所谓 “省电” 模式,CPU 会固定工作在其支持的最低运行频率上。因此这两种 governors 都属于静态 governor,即在使用它们时 CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。这两种 governors 对应的是两种极端的应用场景,使用 performance governor 是对系统高性能的最大追求,而使用 powersave governor 则是对系统低功耗的最大追求。
ondemand: 按需快速动态调整 CPU 频率, 一有 cpu 计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;ondemand:userspace 是内核态的检测,用户态调整,效率低。而 ondemand 正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的 governor。 在 ondemand governor 监测到系统负载超过 up_threshold 所设定的百分比时,说明用户当前需要 CPU 提供更强大的处理能力,因此 ondemand governor 会将 CPU 设置在最高频率上运行。但是当 ondemand governor 监测到系统负载下降,可以降低 CPU 的运行频率时,到底应该降低到哪个频率呢? ondemand governor 的最初实现是在可选的频率范围内调低至下一个可用频率,例如 CPU 支持三个可选频率,分别为 1.67GHz、1.33GHz 和 1GHz ,如果 CPU 运行在 1.67GHz 时 ondemand governor 发现可以降低运行频率,那么 1.33GHz 将被选作降频的目标频率。
conservative: 与 ondemand 不同,平滑地调整 CPU 频率,频率的升降是渐变式的, 会自动在频率上下限调整,和 ondemand 的区别在于它会按需分配频率,而不是一味追求最高频率;
Userspace: 最早的 cpufreq 子系统通过 userspace governor 为用户提供了这种灵活性。系统将变频策略的决策权交给了用户态应用程序,并提供了相应的接口供用户态应用程序调节 CPU 运行频率使用。也就是长期以来都在用的那个模式。可以通过手动编辑配置文件进行配置
powersave: 将 CPU 频率设置为最低的所谓 “省电” 模式,CPU 会固定工作在其支持的最低运行频率上。因此这两种 governors 都属于静态 governor,即在使用它们时 CPU 的运行频率不会根据系统运行时负载的变化动态作出调整。这两种 governors 对应的是两种极端的应用场景,使用 performance governor 是对系统高性能的最大追求,而使用 powersave governor 则是对系统低功耗的最大追求。
ondemand: 按需快速动态调整 CPU 频率, 一有 cpu 计算量的任务,就会立即达到最大频率运行,等执行完毕就立即回到最低频率;ondemand:userspace 是内核态的检测,用户态调整,效率低。而 ondemand 正是人们长期以来希望看到的一个完全在内核态下工作并且能够以更加细粒度的时间间隔对系统负载情况进行采样分析的 governor。 在 ondemand governor 监测到系统负载超过 up_threshold 所设定的百分比时,说明用户当前需要 CPU 提供更强大的处理能力,因此 ondemand governor 会将 CPU 设置在最高频率上运行。但是当 ondemand governor 监测到系统负载下降,可以降低 CPU 的运行频率时,到底应该降低到哪个频率呢? ondemand governor 的最初实现是在可选的频率范围内调低至下一个可用频率,例如 CPU 支持三个可选频率,分别为 1.67GHz、1.33GHz 和 1GHz ,如果 CPU 运行在 1.67GHz 时 ondemand governor 发现可以降低运行频率,那么 1.33GHz 将被选作降频的目标频率。
conservative: 与 ondemand 不同,平滑地调整 CPU 频率,频率的升降是渐变式的, 会自动在频率上下限调整,和 ondemand 的区别在于它会按需分配频率,而不是一味追求最高频率;
步骤 1: 首先创建 systemd Service
创建 systemd
服务是确保命令在系统启动时自动运行的最佳方法
使用 nano
或 vim
创建一个新的 systemd service 文件 /etc/systemd/system/cpupower-powersave.service
:
nano /etc/systemd/system/cpupower-powersave.service
将以下内容粘贴到文件中:
[Unit]
Description=Set CPU governor to powersave mode
After=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/bin/cpupower -c all frequency-set -g powersave
[Install]
WantedBy=multi-user.target
说明:
Description
: 服务的描述。ExecStart
: 您的命令,确保使用了完整的路径/usr/bin/cpupower
。WantedBy=multi-user.target
: 确保服务在系统进入多用户运行级别时启动。
步骤 2: 启用并启动服务
保存并关闭文件后,执行以下三个命令来重新加载 systemd 配置、启用该服务并立即启动它:
# 重新加载 systemd 配置
systemctl daemon-reload
# 设置服务开机自启
systemctl enable cpupower-powersave.service
# 立即启动服务 (无需重启即可生效)
systemctl start cpupower-powersave.service
步骤 3: 验证设置
现在,您可以检查服务状态和 CPU 调节器是否已切换成功:
# 检查服务状态
systemctl status cpupower-powersave.service
如果输出显示服务处于 active (exited)
状态,并且所有核心的 governor 都是 powersave
,则设置成功,重启 PVE 后,该设置将自动保持
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END