PVE一键安装lm-sensors CPU温度频率显示及降低CPU功耗脚本
脚本原地址shell脚本,一键给PVE7,增加温度和cpu频率显示-恩山无线论坛
这里说下详细的脚本使用方法
PVE7.0-7.2通用一键CPU温度频率显示以及降低CPU功耗脚本
shell脚本,给pve7增加温度和cpu频率显示脚本
教程如下:
1、禁用企业源
2、安装必要的传感器驱动(一条一条的单独运行)
apt update apt-get install lm-sensors apt-get install nvme-cli apt-get install hddtemp
3、利用控制台在home文件夹中创建一个名称为pve的脚本
cd /home/ #打开home文件夹 nano pve.sh #新建一个脚本 #将文章下面提供代码粘贴进去 #按 ctrl+X 退出 #按 Y保存 #按回车返回控制台 chmod +x pve.sh #赋予脚本可执行权限 ./pve.sh #执行脚本
需要粘贴的代码(可以直接复制下面的代码粘贴,或者下载下面链接里的脚本文件)
链接: https://pan.baidu.com/s/1WUQ6V2MHx8kzfB8QwBl45A?pwd=3jr9提取码: 3jr9
#!/usr/bin/env bash np="/usr/share/perl5/PVE/API2/Nodes.pm" pvejs="/usr/share/pve-manager/js/pvemanagerlib.js" plib="/usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js" if ! sensors;then echo 安装lm-sensors apt update && apt install -y lm-sensors fi pvever=$(pveversion | awk -F"/" '{print $2}') echo pve版本$pvever echo 备份源文件 [ ! -e $np.$pvever.bak ] && cp $np $np.$pvever.bak || { echo 已经修改过,请务重复执行; exit 1;} [ ! -e $pvejs.$pvever.bak ] && cp $pvejs $pvejs.$pvever.bak [ ! -e $plib.$pvever.bak ] && cp $plib $plib.$pvever.bak therm='$res->{thermalstate} = `sensors`;'; cpure='$res->{cpure} = `cat /proc/cpuinfo | grep -i "cpu mhz"`;'; echo 修改node.pm: sed -i "/PVE::pvecfg::version_text()/a $cpure\n$therm" $np sed -n "/PVE::pvecfg::version_text()/,+5p" $np tmpf=tmpfile.temp touch $tmpf cat > $tmpf << 'EOF' { itemId: 'thermal', colspan: 2, printBar: false, title: gettext('温度'), textField: 'thermalstate', renderer:function(value){ let b = value.trim().split(/\)\s+(?=[A-z]+-)/); let c = b.map(function (v){ let name = v.match(/^[^-]+/)[0] + ': '; let tempure = v.match(/(?<=:\s+\+)[\d\.]+/g).map( v => v + '°C'); if (/coretemp/i.test(name)) { name = 'CPU温度: '; tempure = tempure[0] + '(' + tempure.slice(1).join(', ') + ')'; } else { tempure = tempure[0]; } return name + tempure; }); return c.join(' | '); // const m = value.match(/(?<=:[^\+]+\+)\d+/g); // const m2 = m.map( e => e + '°C'); // return `CPU: ${m2[0]}(${m2[1]},${m2[2]},${m2[3]},${m2[4]}) | BOARD: ${m2[5]} | NVME: ${m2[6]}`; } }, { itemId: 'cpumhz', colspan: 2, printBar: false, title: gettext('CPU频率'), textField: 'cpure', renderer:function(value){ const m = value.match(/(?<=:\s+)\d+/g); const m2 = m.map(e => e + 'MHz'); return m2.join(' | '); } }, EOF #找到关键字pveversion的行号 echo 修改pvemanagerlib.js ln=$(sed -n '/pveversion/,+10{/},/{=;q}}' $pvejs) echo "匹配的行号pveversion:" $ln echo 修改结果: sed -i "${ln}r $tmpf" $pvejs sed -n '/pveversion/,+30p' $pvejs rm $tmpf echo 修改页面高度 sed -i -r '/widget\.pveNodeStatus/,+5{/height/{s#[0-9]+#360#}}' $pvejs sed -n '/widget\.pveNodeStatus/,+5{/height/{p}}' $pvejs sed -i -r '/\[logView\]/,+5{/heigh/{s#[0-9]+#460#;}}' $pvejs sed -n '/\[logView\]/,+5{/heigh/{p}}' $pvejs echo 修改去除订阅弹窗 sed -r -i '/\/nodes\/localhost\/subscription/,+10{/^\s+if \(res === null /{N;s#.+#\t\t if(false){#}}' $plib sed -n '/\/nodes\/localhost\/subscription/,+10p' $plib systemctl restart pveproxy echo "请刷新浏览器缓存shift+f5"
Shift+F5刷新一下网页
教程结束。
肯定会有很多细心的同学发现,负载不高的时候,这CPU频率怎么也一直最高频率,
接下来我们就来处理这个问题
首先我来安装一下CPU驱动
apt-get install cpufrequtils #安装CPU驱动
查询cpu状态
cpufreq-info
一般到这一步就能看到cpu频率会根据负载再不断调整变化
再这基础上我们也可以手动修改CPU的运行模式,如上图pve默认为ondemand模式,
我们可选的模式有conservative, ondemand, userspace, powersave, performance, schedutil
conservative:保守模式,类似于ondemand,但调整相对较缓,想省电就用他吧。Google官方内核,kang内核默认模式。 ondemand:系统默认的超频模式,按需调节,内核提供的功能,一般官方内核默认的方式都是ondemand。 userspace:用户自定义模式,系统将变频策略的决策权交给了用户态应用程序。 powersave 省电模式,通常以最低频率运行。 performance:性能模式,只有最高频率,从来不考虑消耗的电量。 schedutil:一个新的交互模式,听说很牛,简单理解为interactive的升级版。
修改配置文件
文件位置/etc/init.d/cpufrequtils
也可以控制台进行修改
nano /etc/init.d/cpufrequtils # ENABLE="true" GOVERNOR="conservative" #运行模式,依照需求调整 MAX_SPEED="0" #自定义模式下设置cpu频率上限 ,非自定义模式不要填写,否则导致频率锁死最低频率 MIN_SPEED="0" #下限 #
重启服务
systemctl daemon-reload /etc/init.d/cpufrequtils restart
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包