PVE9.1把CPU调成schedutil调度模式

6次阅读
没有评论

我自己的一台DELL R420把CPU换成了E5-2450 v2,平时也就跑个OpenWRT和两个AdguardHome以及一些docker属于性能严重过剩的那种,平时整机功耗基本维持在60多W,PVE里装了pve_source看了下CPU功耗30~40w之间,而朋友的E5-2630 v2因为工艺更新一丢丢,性能模式: performance下 功耗反而在17~25w左右。干脆全程用gemini直接把自己的机器调成schedutil调度模式,目前改好以后功耗在15~25w之间徘徊,遇到高资源占用时候会立即调整频率并提升功耗

PVE9.1把CPU调成schedutil调度模式 PVE9.1把CPU调成schedutil调度模式

1. 替代工具:使用 cpupower

现在的标准工具是 linux-cpupower。请尝试执行以下命令安装:

apt update && apt install linux-cpupower -y

安装完成后,你可以通过以下命令直接切换到 schedutil:# 为所有 CPU 核心设置 schedutil 模式

cpupower frequency-set -g schedutil

验证是否生效:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

如果返回 schedutil,说明设置成功。

也可以用以下命令实时观察频率变化,看它是否会在空闲时降频:

watch -n 1 "grep MHz /proc/cpuinfo"

让设置永久生效,创建 Systemd 启动服务(最稳定,推荐)

这种方法直接在系统启动完成后强制修改内核接口。

1.创建脚本文件:

nano /etc/systemd/system/set-cpu-governor.service

2.复制并粘贴以下内容:

[Unit]
Description=Set CPU Governor to Schedutil on boot
After=multi-user.target

[Service]
Type=oneshot
# 这一行会把所有核心都设置为 schedutil
ExecStart=/usr/bin/bash -c 'echo schedutil | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

3.保存退出 (Ctrl+O, Enter, Ctrl+X) 并启用服务:

systemctl daemon-reload
systemctl enable set-cpu-governor.service
systemctl start set-cpu-governor.service

如何验证?
重启PVE后,直接运行以下命令:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | uniq

如果只输出一个 schedutil,说明所有核心都已经成功永久固定在该模式。

正文完
 0
评论(没有评论)