Proxmox VE9.0优化-功耗切换到智能模式

news/2025/11/14 14:47:00/文章来源:https://www.cnblogs.com/zqingyang/p/19222076

模式介绍

PVE9.0目前支持下面几种模式,初始安装默认是performance。

  1. performance (高性能, 频率接近最大值。PVE默认/推荐)
  2. powersave (低功耗, 频率接近最低值)
  3. ondemand (动态调节, 负载高时升频。旧版内核)
  4. schedutil (智能调节, 根据调度器智能调节。新版内核推荐)

在个人PVE服务器上,AMD Ryzen 7 8745H功耗为3.28W,这支持amd-pstate-epp,自动调整功耗,最佳模式是performance。但是老型号的CPU没有自动调节,因此需要软调节,软调节如下:

这几个模式的对比如下:

  1. performance (默认的):

    • 原理: 强制 CPU 频率保持在或接近最大值 (4966 Mhz)。

    • 优点: 零延迟。一旦有任务,CPU 立即全速处理。

    • 缺点: 极其浪费电。即使 CPU 0% 负载,它也保持高频率,就像一辆在等红灯时还猛踩油门的跑车。

  2. powersave:

    • 原理: 强制 CPU 频率保持在或接近最小值 (400 Mhz)。

    • 优点: 最省电

    • 缺点: 性能极差,延迟极高。当你突然需要性能时(比如打开 PVE 界面,或 VM 突发一个任务),CPU 会"反应不过来",导致整个系统感觉非常卡顿。这是以牺牲所有性能为代价来省电,性价比很低

  3. schedutil (PVE 8.x 和新内核的推荐):

    • 原理: 智能调节。这是 ondemand 的进化版,它直接与 Linux 内核的任务调度器(scheduler)集成。

    • 优点: 完美平衡。

      • 空闲时: 它会自动降到最低频率(像 powersave 一样省电)。

      • 需要时: 它能根据任务的实际需求瞬间智能地提升到所需的频率。

    • 结论: 这是最符合“功耗性价比最佳” 需求的模式。它在空闲时提供了 powersave 的低功耗,又在需要时提供 了 performance 的高响应速度。

所以,切换到 schedutil 模式。

模式切换Bash脚本

这个脚本会自动:

  1. 检查是否以 root 权限运行(PVE上修改系统配置必须是root)。

  2. 检查并自动安装 cpufrequtils,这是在Debian系(PVE基于Debian)上管理CPU模式的标准工具。

  3. 显示提到的四种模式菜单。

  4. 将选择永久写入 /etc/default/cpufrequtils 配置文件。

  5. 立即应用选择的模式到所有CPU核心。

  6. 重启并启用 cpufrequtils 服务,确保设置在PVE重启后依然生效。


脚本内容

  1. 登录PVE Shell:

    通过网页UI > 数据中心 > pve (您的节点) > Shell。或者通过SSH登录。

    必须以 root 用户身份登录。

  2. 创建脚本文件:

    vim set-pve-governor.sh
    
  3. 粘贴代码:

    将下面“脚本内容”区域中的所有代码复制并粘贴到 vim 编辑器中。

#!/bin/bash# ==========================================================
# PVE 9.0+ CPU Governor 永久切换脚本 (v2.1 - 修正语法错误)
# ==========================================================# 1. 权限检查:必须以 root 身份运行
if [ "$(id -u)" -ne 0 ]; thenecho "错误:此脚本必须以 root 权限运行。"echo "您当前已经是 root,请直接运行 './set-pve-governor.sh'"exit 1
fi# 定义服务名称和路径
SERVICE_NAME="set-cpu-governor.service"
SERVICE_PATH="/etc/systemd/system/$SERVICE_NAME"
AVAILABLE_GOVERNORS=""
CURRENT_GOVERNOR=""# 2. 显示当前设置
echo "---------------------------------------"
echo "正在检查可用的 CPU 模式..."
if [ -f "/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors" ]; thenAVAILABLE_GOVERNORS=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors)echo "当前系统支持的模式: $AVAILABLE_GOVERNORS"CURRENT_GOVERNOR=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)echo "当前 CPU 模式 (CPU0): $CURRENT_GOVERNOR"
elseecho "警告:无法读取 CPU 模式信息。您的 CPU 可能不支持频率调节。"
fi
echo "---------------------------------------"# 3. 显示菜单
echo "请选择要永久设置的 PVE CPU 模式:"
echo ""
echo "  1) performance  (高性能, 频率接近最大值。PVE默认/推荐)"
echo "  2) powersave    (低功耗, 频率接近最低值)"
echo "  3) ondemand     (动态调节, 负载高时升频。旧版内核)"
echo "  4) schedutil    (智能调节, 根据调度器智能调节。新版内核推荐)"
echo ""
echo "  q) 退出,不作任何更改"
echo ""
read -p "请输入选项 [1-4 或 q]: " choice# 4. 处理用户输入
GOVERNOR_TO_SET=""
case $choice in1)GOVERNOR_TO_SET="performance";;2)GOVERNOR_TO_SET="powersave";;3)GOVERNOR_TO_SET="ondemand";;# # v2.1 修正:这里从 4. 更改为 4)# 4)GOVERNOR_TO_SET="schedutil";;q|Q)echo "操作已取消。"exit 0;;*)echo "错误:无效的选项。"exit 1;;
esac# 检查所选模式是否受支持
if ! echo "$AVAILABLE_GOVERNORS" | grep -q "$GOVERNOR_TO_SET"; thenecho ""echo "!!! 警告:您选择了 '$GOVERNOR_TO_SET' !!!"echo "    但您的系统报告仅支持: $AVAILABLE_GOVERNORS"echo ""read -p "您确定要强行继续吗? (这很可能会失败) (y/N): " confirmif [[ "$confirm" != "y" ]] && [[ "$confirm" != "Y" ]]; thenecho "操作已取消。"exit 0fi
fiecho "您选择了: $GOVERNOR_TO_SET"
echo "---------------------------------------"# 5. 立即应用更改
echo "正在立即应用 '$GOVERNOR_TO_SET' 模式到所有CPU核心..."
# 使用 'tee' 一次性写入所有核心,并抑制错误输出以便单独处理
if ! echo "$GOVERNOR_TO_SET" | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor > /dev/null 2>&1; thenecho ""echo "错误:立即应用模式失败!"echo "这通常是因为您的系统不支持 '$GOVERNOR_TO_SET' 模式。"echo "请重新运行脚本并选择一个支持的模式: $AVAILABLE_GOVERNORS"exit 1
fi
echo "立即应用完成。"# 6. 创建 systemd 服务文件
echo "正在创建永久性 systemd 服务: $SERVICE_PATH"# 使用 'tee' 命令来写入,'EOF' 前的 '-' 可以允许我们使用 Tab 缩进
tee "$SERVICE_PATH" > /dev/null <<-'EOF'
[Unit]
Description=Set CPU Governor to desired mode on boot
After=network.target[Service]
Type=oneshot
RemainAfterExit=true
# 'ExecStart' 将在下面被动态替换
ExecStart=[Install]
WantedBy=multi-user.target
EOF# 使用 sed 动态插入正确的 ExecStart 命令
# 注意: 'tee' 命令需要绝对路径 /usr/bin/tee
sed -i "s|^ExecStart=.*$|ExecStart=/bin/sh -c 'echo $GOVERNOR_TO_SET | /usr/bin/tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor'|" "$SERVICE_PATH"echo "服务文件创建成功。"# 7. 重载 systemd 并启用服务
echo "正在重载 systemd 并启用服务..."
systemctl daemon-reload
systemctl enable "$SERVICE_NAME"
# (可选) 立即启动服务以确认其工作,尽管我们已经手动应用了
systemctl restart "$SERVICE_NAME" echo "======================================="
echo "✅ 操作成功!"
echo "已永久设置 CPU 模式为 '$GOVERNOR_TO_SET'。"
echo ""
echo "当前 CPU 模式 (以 CPU0 为例):"
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo ""
echo "服务状态 (systemctl status $SERVICE_NAME):"
systemctl status --no-pager "$SERVICE_NAME" | grep -E "Loaded|Active"exit 0

  1. 给脚本添加执行权限

    chmod +x set-pve-governor.sh
    
  2. 运行脚本

    ./set-pve-governor.sh
    

之后,只需按照脚本的菜单提示(输入1、2、3或4)即可完成永久切换。

注意

root@pve:~/document/set-pve-governor# ./set-pve-governor.sh
---------------------------------------
正在检查可用的 CPU 模式...
当前系统支持的模式: performance powersave
当前 CPU 模式 (CPU0): performance
---------------------------------------
请选择要永久设置的 PVE CPU 模式:1) performance  (高性能, 频率接近最大值。PVE默认/推荐)2) powersave    (低功耗, 频率接近最低值)3) ondemand     (动态调节, 负载高时升频。旧版内核)4) schedutil    (智能调节, 根据调度器智能调节。新版内核推荐)q) 退出,不作任何更改请输入选项 [1-4 或 q]: 4!!! 警告:您选择了 'schedutil' !!!但您的系统报告仅支持: performance powersave您确定要强行继续吗? (这很可能会失败) (y/N): n
操作已取消。

PVE 9.0 (以及它的新内核) 100% 支持 schedutil。但我的 CPU 硬件驱动 告诉内核,它不需要 schedutil,因为它有更好、更底层的管理方式。

因此看到的 当前系统支持的模式: performance powersave 是最理想的情况,并自动启用了 AMD 最新的CPU频率管理驱动:amd_pstate

1. 新驱动 amd_pstate vs 旧驱动 acpi-cpufreq

  • acpi-cpufreq (旧驱动):

    • 这是通用的 Linux 驱动。

    • 它提供 schedutil, ondemand, powersave, performance 等模式,让操作系统 (OS) 来“猜”并“命令”CPU 该做什么。

    • schedutil 是这个旧驱动里最好的“软件调节”模式。

  • amd_pstate (新驱动):

    • 这是 AMD 专为 Ryzen CPU 开发的现代驱动。

    • 它利用了 AMD CPU 内置的硬件电路 (称为 CPPC - Collaborative Processor Performance Control)自我管理频率。

    • CPU 硬件自己管理频率,远比操作系统“猜”要快得多、高效得多。

2. 为什么 amd_pstate 只有两个模式?

amd_pstate 驱动以其最高效的 “主动模式” (active mode / EPP) 运行时(PVE 9.0 内核对 8745H 默认就是这样做的),它不再需要 schedutil 这样的“软件调度器”。

它只向操作系统提供两种“策略”:

  1. performance (应该选的)

    • 误解: 这不是“始终跑在 100% 频率”。

    • 实际含义: “CPU,请你使用你内置的 CPPC 硬件算法,在最低功耗和最高睿频(Turbo)之间全速、自由地动态调节,目标是实现最大性能。”

    • 它在空闲时依然会降频,在需要性能时会瞬间飙升。这比 schedutil 更快、更省电。

  2. powersave

    • 实际含义: “CPU,请你同样使用 CPPC 硬件算法,但请限制最高频率,目标是优先省电。”

验证方法

  1. 检查正在使用的驱动:

    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
    
    • 输出应该会是:amd_pstateamd-pstate-epp
  2. 检查 amd_pstate 的运行状态:

    cat /sys/devices/system/cpu/amd_pstate/status
    
    • 输出应该会是:active (这代表最高效的 EPP 硬件模式)

1. scaling_driver: amd-pstate-epp

  • amd-pstate:正在使用 AMD 的现代 CPU 驱动。

  • -epp (Energy Performance Preference):这代表驱动正运行在最新的“硬件首选”模式下。

2. status: active

  • 这确认了 amd-pstate 驱动程序正处于活动状态,并以 EPP 模式在工作。

模式对比 (AMD 版)

驱动 amd_pstate (在 "active" 模式下) acpi-cpufreq (旧系统/驱动)
管理方 CPU 硬件 (CPPC) 操作系统 (OS)
最佳性能模式 performance (硬件智能调节) schedutil (软件智能调节)
支持的模式 performance, powersave performance, powersave, ondemand, schedutil

总结: PVE 9.0 内核正确识别了新 CPU,并配置了最佳的驱动。只需要在脚本中选择 1 (performance) 即可获得最佳性能(并且在空闲时自动省电)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/965397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KMPlayer下载教程(2025新版)——全功能安装配置与使用经验详解

前言: 在多媒体工具领域,KMPlayer 一直是一款被广泛使用的视频播放器。 无论是从兼容性、解码能力还是自由性来看,它都在同类播放器中有着不错的口碑。尤其是面对如今格式多样化、高码率视频普及的情况,一个性能稳…

一个通过强制使用符号来避免链接器忽略符号的方法

一个通过强制使用符号来避免链接器忽略符号的方法 虽然如果链接器在链接库时将符号忽略了一般是由于设置了 --as-needed 选项,或者编译时的优化太激进了,所以一般还是要去分析编译和链接过程来解决。 但如果确实不好…

安卓非原创--基于Android Studio 实现的天气预报App - 教程

安卓非原创--基于Android Studio 实现的天气预报App - 教程2025-11-14 14:44 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !importan…

10.7万条轨迹+4大机器人构型!RoboMIND开源数据集破解机器人通用操作难题 | 附一键复现指南

开发鲁棒且通用的操作策略是机器人领域的关键目标。为实现有效的泛化能力,构建包含大量 演示轨迹 和 在复杂真实环境中完成多样化任务 的综合数据集至关重要。尽管现有研究已致力于整合各类机器人数据集,但仍 缺乏统…

2025年全屋定制橱柜优质厂家权威推荐榜单:全屋定制门窗/高端整装定制/整装全屋定制源头厂家精选

在消费升级与居住需求多元化的推动下,全屋定制行业正迎来新一轮发展机遇。根据行业数据显示,2025年中国定制家居市场规模预计将突破5000亿元,其中橱柜品类作为核心组成部分,市场份额占比稳定在30%以上。 全屋定制橱…

c++初学者的随笔记录_4

对象: 1.创建对象的方法: Human h1;--->>第一种 Human *h2 = new Human();----->>第二种 2.创建默认构造函数: class Human{ Human(); } 在外面构造 Human::Human(){ ....... } 3.可以在默认的构函数上添…

2025 最新多孔筋增强管生产线厂家权威推荐:国际测评认证 + 技术创新双驱,全周期服务优选榜单缠绕管承插口生产线 / 承插口注塑设备生产线公司推荐

引言 在全球基础设施升级与环保理念深化的双重推动下,多孔筋增强管作为埋地排水系统的核心部件,其生产线的技术水平与稳定性成为下游企业核心竞争力的关键。然而,行业供应商资质良莠不齐,部分设备存在环刚度不达标…

自动化控制Devicenet转Profinet—PLC分布式控制架构的网关连接案例

本案例适用于汽车零部件生产线的分布式控制场景,西门子S7-1500PLC作为控制核心,通过Profinet总线连接DeviceNet主站网关,网关下联3台DeviceNet从站型伺服驱动器,实现多轴同步控制。核心需求是通过网关完成控制信号…

2025年专业的卷被机工厂权威推荐榜单:好的卷被机/不错的卷被机/卷被机品牌厂家精选

卷被机作为现代家纺制造业中不可或缺的自动化设备,其市场需求正随着家纺行业对生产效率和产品质量要求的提升而持续增长。本文将基于详实的行业信息,为您推荐2025年度在卷被机领域表现卓越的Top 3制造厂,通过客观分…

工业网络通信中profinet转devicenet基于总线协议转换的网关连接技术研究

本案例适用于化工生产过程控制系统,西门子S7-1200PLC通过Profinet总线连接DeviceNet主站网关,网关下联DeviceNet从站型传感器(压力、温度传感器)和执行器(电磁阀),实现现场设备数据的采集与控制信号的下发。核心…

2025 年 11 月 Pogopin 弹簧针厂家推荐排行榜,精密测试针,医疗传感器,手机连接器,声学弹簧,触摸仪表,手表锁具,座椅检测优质公司推荐

2025 年 11 月 Pogopin 弹簧针厂家推荐排行榜,精密测试针,医疗传感器,手机连接器,声学弹簧,触摸仪表,手表锁具,座椅检测优质公司推荐 随着智能制造和精密电子行业的快速发展,Pogopin弹簧针作为关键连接元件,在…

国标GB28181算法算力平台EasyGBS如何赋能现代应急指挥体系?

国标GB28181算法算力平台EasyGBS如何赋能现代应急指挥体系?在突发事件应急处置中,“快”与“准”是核心要求。传统应急指挥面临视频资源分散、系统互通性差、指挥效率低下等挑战。本文深度解析基于国标GB28181协议的…

2025 年钢结构源头厂家最新推荐排行榜:聚焦全产业链服务与核心产能,七大实力企业权威甄选

引言 随着钢结构在工业厂房、高层建筑、桥梁工程等领域的应用日益广泛,市场对优质源头厂家的需求愈发迫切。然而当前行业存在诸多痛点:部分企业产能不足导致项目交付延迟,技术实力薄弱难以应对复杂工程需求,服务链…

xcode 打包 报错 main.jsbundle does not exist.

报错信息File /Users/xxx/Library/Developer/Xcode/DerivedData/xxxx-bcaciyvefuadzlfknidhesrsyyir/Build/Intermediates.noindex/ArchiveIntermediates/xxxx/BuildProductsPath/ Release-iphoneos/xxxx.app/main.jsb…

2025年简易激光切管机供应商权威推荐榜单:高速激光切管机/拉料式激光切管机/迷你激光切管机设备源头厂家精选

简易激光切管机作为金属加工行业中的重要设备,其市场需求正随着制造业转型升级和精密加工要求的提升而持续增长。本文将基于详实的行业信息,为您推荐2025年度在简易激光切管机领域表现卓越的Top 3供货商,通过客观分…

2025年东莞东城搬家公司权威推荐榜单:同城搬运/长安搬家/本地搬家源头公司精选

在东莞东城,人口流动与企业更迭带来持续的搬家需求,但临时加价、物品损坏、师傅爽约等行业乱象仍困扰着不少消费者。 根据2024年中国消费者协会的统计数据显示,搬家服务投诉占生活服务类总投诉的18.7%,其中 “乱收…

2025 年 11 月高尔夫学院最新推荐榜单,高尔夫培训,高尔夫教学,高尔夫教练,专业指导与课程体验深度解析

2025 年 11 月高尔夫学院最新推荐榜单,高尔夫培训,高尔夫教学,高尔夫教练,专业指导与课程体验深度解析 高尔夫运动作为一项兼具竞技性与社交性的体育活动,近年来在中国市场持续升温。随着高尔夫被纳入更多国际赛事…

基于.NET开发STEP三维模型浏览器

1. 加载和显示STEP格式的3D模型文件 2. 树形结构展示模型的层次关系 3. 支持通过复选框控制模型部件的可见性 4. 支持双击树节点高亮对应的3D模型 5. 支持鼠标选择3D模型并在树形结构中定位本教程介绍使用AnyCAD .NET …

Shape数据入到PG库中存在乱码的

Shape数据入到PG库中存在乱码的环境:PostgreSQL11 PostGIS QGIS问题描述:使用QGIS将shape数据导入到PG库中后(数据库--数据管理器),通过sql查询发现pg库中中文内容显示乱码。解决方法:在数据导入的时候设置编…