找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 61186|回复: 869

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

 火... [复制链接]
本帖最后由 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 感谢你的分享,无论怎样,你都是最无私的人.
wan*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
sc*** + 2 感谢你的分享,无论怎样,你都是最无私的人.
jiu*** + 1 i5 4690t 用了上面脚本后 pve 概览一直在 .
Flia*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
rya*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
po*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
屁股上*** + 1 给力
灵峰*** + 1 一看就是觉得高端、大气、上档次!
Hu*** + 1 来来来,有什么伤心的事说出来让大家开心一.
潜*** + 1 几个菜啊,喝成这样~~~
simb*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
bou*** + 1 感谢你的分享,无论怎样,你都是最无私的人.
huo*** + 1 教程不错
ngwk*** + 1 风清云淡、飘逸悠然……极爽!

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
PVE7.0-7.2通用一键CPU温度频率显示以及降低CPU功耗 5月20完善
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主厉害了 学习了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

学习到了,刚刚学习完EXSI后才发现家用PVE更合适!再次学习吧
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

本帖最后由 zhang623437847 于 2023-9-3 15:21 编辑

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

本帖子中包含更多资源

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

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

使用道具 举报

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

使用道具 举报

收藏备用
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

sensors 不显示风扇转速是什么原因
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好东西,厉害!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

来自手机 | 显示全部楼层
厉害厉害支持
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

PVE 7.3_6 版本 CPU频率 CPUMHZ: 3600 | 3600 | 3600 | 3600       还是一直满频率运行,调模式没看出来变化
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

使用了,还是显示这个 温度 CPU: 27(29,31,31,31) | BOARD: undefined | NVME: undefined
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

好东西,收藏!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

很厉害啊的投资
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

谢谢了,很小白的一步步教程!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

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

GMT+8, 2024-4-29 07:19

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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