找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 60976|回复: 868

[虚拟机相关] 【教程】PVE7.0-7.2通用一键CPU温度频率显示以及降低CPU功耗 5月20完善

 火... [复制链接]
发表于 2022-5-14 11:02 | 显示全部楼层 |阅读模式
本帖最后由 xgeg 于 2022-6-3 08:29 编辑

致谢:论坛大佬a904055262 脚本

脚本原地址shell脚本,一键给pve7,增加温度和cpu频率显示-恩山无线论坛 (right.com.cn)
我做了有些归纳总结,补全了一些具体操作步骤,方便像我这样的小白少走些弯路。

先上图

教程如下:
第一步,禁用企业源

第二步,安装必要的传感器驱动(一条一条的单独运行)
  1. apt update
  2. apt-get install lm-sensors
  3. apt-get install nvme-cli
  4. apt-get install hddtemp
复制代码
第三步,利用控制台在home文件夹中创建一个名称为pve的脚本
  1. cd /home/  #打开home文件夹
  2. nano pve.sh  #新建一个脚本
  3. #将文章下面提供代码粘贴进去
  4. #按 ctrl+X 退出
  5. #按 Y保存
  6. #按回车返回控制台
  7. chmod +x pve.sh   #赋予脚本可执行权限
  8. ./pve.sh   #执行脚本
复制代码
需要粘贴的代码


  1. #!/usr/bin/env bash
  2. np="/usr/share/perl5/PVE/API2/Nodes.pm"
  3. pvejs="/usr/share/pve-manager/js/pvemanagerlib.js"
  4. plib="/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js"


  5. pvever=$(pveversion | awk -F"/" '{print $2}')
  6. echo pve版本$pvever
  7. echo 备份源文件
  8. [ ! -e $np.$pvever.bak ] && cp $np $np.$pvever.bak || { echo 已经修改过,请务重复执行; exit 1;}
  9. [ ! -e $pvejs.$pvever.bak ] && cp $pvejs $pvejs.$pvever.bak
  10. [ ! -e $plib.$pvever.bak ] && cp $plib $plib.$pvever.bak

  11. therm='$res->{thermalstate} = `sensors`;';
  12. cpure='$res->{cpure} = `cat /proc/cpuinfo | grep -i  "cpu mhz"`;';

  13. echo 修改node.pm:
  14. sed -i "/PVE::pvecfg::version_text()/a $cpure\n$therm" $np

  15. sed -n "/PVE::pvecfg::version_text()/,+5p"  $np


  16. tmpf=tmpfile.temp
  17. touch $tmpf
  18. cat > $tmpf << 'EOF'
  19.         {
  20.                   itemId: 'thermal',
  21.                   colspan: 2,
  22.                   printBar: false,
  23.                   title: gettext('温度'),
  24.                   textField: 'thermalstate',
  25.                   renderer:function(value){
  26.                         const m = value.match(/(?<=:[^\+]+\+)\d+/g)
  27.                         return `CPU: ${m[0]}(${m[1]},${m[2]},${m[3]},${m[4]}) | BOARD: ${m[5]} | NVME: ${m[6]}`;
  28.                  }
  29.         },
  30.         {
  31.                   itemId: 'cpumhz',
  32.                   colspan: 2,
  33.                   printBar: false,
  34.                   title: gettext('CPU频率'),
  35.                   textField: 'cpure',
  36.                   renderer:function(value){
  37.                         const m = value.match(/(?<=:\s+)(\d+)/g);
  38.                         return `CPUMHZ: ${m[0]} | ${m[1]} | ${m[2]} | ${m[3]}`;
  39.                  }
  40.         },
  41. EOF

  42. #找到关键字pveversion的行号
  43. echo 修改pvemanagerlib.js
  44. ln=$(sed -n '/pveversion/,+10{/},/{=;q}}' $pvejs)
  45. echo "匹配的行号pveversion:" $ln

  46. echo 修改结果:
  47. sed -i "${ln}r $tmpf" $pvejs
  48. sed -n '/pveversion/,+30p' $pvejs

  49. rm $tmpf


  50. echo 修改页面高度
  51. sed -i -r '/widget\.pveNodeStatus/,+5{/height/{s#[0-9]+#360#}}' $pvejs
  52. sed -n '/widget\.pveNodeStatus/,+5{/height/{p}}' $pvejs
  53. sed -i -r '/\[logView\]/,+5{/heigh/{s#[0-9]+#460#;}}' $pvejs
  54. sed -n '/\[logView\]/,+5{/heigh/{p}}' $pvejs


  55. echo 修改去除订阅弹窗
  56. sed -r -i '/\/nodes\/localhost\/subscription/,+10{/^\s+if \(res === null /{N;s#.+#\t\t  if(false){#}}' $plib
  57. sed -n '/\/nodes\/localhost\/subscription/,+10p' $plib

  58. systemctl restart pveproxy

  59. echo "请刷新浏览器缓存shift+f5"

复制代码


最后Shift+F5刷新一下网页
教程结束。

肯定会有很多细心的同学发现,负载不高的时候,这CPU频率怎么也一直最高频率,
接下来我们就来处理这个问题
首先我来安装一下CPU驱动
  1. apt-get install cpufrequtils  #安装CPU驱动
复制代码
查询cpu状态
  1. cpufreq-info
复制代码
一般到这一步就能看到cpu频率会根据负载再不断调整变化

再这基础上我们也可以手动修改CPU的运行模式,如上图pve默认为ondemand模式,
我们可选的模式有conservative, ondemand, userspace, powersave, performance, schedutil
  1. conservative:保守模式,类似于ondemand,但调整相对较缓,想省电就用他吧。Google官方内核,kang内核默认模式。
  2. ondemand:系统默认的超频模式,按需调节,内核提供的功能,一般官方内核默认的方式都是ondemand。
  3. userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序。
  4. powersave 省电模式,通常以最低频率运行。
  5. performance:性能模式,只有最高频率,从来不考虑消耗的电量。
  6. schedutil:一个新的交互模式,听说很牛,简单理解为interactive的升级版。
复制代码


修改配置文件
文件位置/etc/init.d/cpufrequtils
也可以控制台进行修改
  1. nano /etc/init.d/cpufrequtils
  2. #
  3. ENABLE="true"   
  4. GOVERNOR="conservative"  #运行模式,依照需求调整
  5. MAX_SPEED="0"         #自定义模式下设置cpu频率上限   ,非自定义模式不要填写,否则导致频率锁死最低频率
  6. MIN_SPEED="0"         #下限
  7. #
复制代码
重启服务
  1. systemctl daemon-reload
  2. /etc/init.d/cpufrequtils restart
复制代码

觉得教程受益,可以点赞支持一下哟~






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 15恩山币 +17 收起 理由
抑郁木乃伊 + 2 感谢你的分享,无论怎样,你都是最无私的人.
wanboo + 1 感谢你的分享,无论怎样,你都是最无私的人.
scass + 2 感谢你的分享,无论怎样,你都是最无私的人.
jiulai + 1 i5 4690t 用了上面脚本后 pve 概览一直在 .
Fliangui + 1 感谢你的分享,无论怎样,你都是最无私的人.
ryanyx + 1 感谢你的分享,无论怎样,你都是最无私的人.
poiu + 1 感谢你的分享,无论怎样,你都是最无私的人.
屁股上的米粒 + 1 给力
灵峰红坊 + 1 一看就是觉得高端、大气、上档次!
Hu逗 + 1 来来来,有什么伤心的事说出来让大家开心一.
潜水者 + 1 几个菜啊,喝成这样~~~
simbasun + 1 感谢你的分享,无论怎样,你都是最无私的人.
bounei + 1 感谢你的分享,无论怎样,你都是最无私的人.
huohei + 1 教程不错
ngwk1984 + 1 风清云淡、飘逸悠然……极爽!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
发表于 2024-2-20 15:28 | 显示全部楼层
楼主厉害了 学习了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-11-14 16:19 | 显示全部楼层
cpufrequtils更改运行模式并没有什么卵用, 我的j6413 只支持性能模式和省电模式,  改成省电模式 ,主频降到0.8,性能模式,主频2.7,插着功耗表, 功耗没有什么变化, 但是0.8,虚拟机速度慢很多
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-9-13 08:51 | 显示全部楼层
学习到了,刚刚学习完EXSI后才发现家用PVE更合适!再次学习吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-9-3 15:20 | 显示全部楼层
本帖最后由 zhang623437847 于 2023-9-3 15:21 编辑

楼主,你看我这个是什么问题,  虚拟机几乎以cpu 最低频率在运行,且一直没有变化;芯片是n100

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-6-28 21:47 | 显示全部楼层
学习了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-6-16 10:48 | 显示全部楼层
收藏备用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-27 14:27 | 显示全部楼层
sensors 不显示风扇转速是什么原因
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-26 23:13 | 显示全部楼层
好东西,厉害!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-15 21:32 来自手机 | 显示全部楼层
厉害厉害支持
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-15 16:44 | 显示全部楼层
PVE 7.3_6 版本 CPU频率 CPUMHZ: 3600 | 3600 | 3600 | 3600       还是一直满频率运行,调模式没看出来变化
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-12 15:55 | 显示全部楼层
使用了,还是显示这个 温度 CPU: 27(29,31,31,31) | BOARD: undefined | NVME: undefined
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-12 14:15 | 显示全部楼层
好东西,收藏!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-8 16:06 | 显示全部楼层
很厉害啊的投资
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-2-23 22:36 | 显示全部楼层
谢谢了,很小白的一步步教程!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-2-21 23:02 | 显示全部楼层
谢谢大佬的分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 07:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表