我自己的一台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之间徘徊,遇到高资源占用时候会立即调整频率并提升功耗

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,说明所有核心都已经成功永久固定在该模式。
正文完
发表至: 看图说话教程
近一天内
