PVE7.2 显示CPU温度和频率

匿名用户 2022-06-24 19:35:21 9点赞 95收藏 9评论

效果图

PVE7.2 显示CPU温度和频率

PVE7.2 显示CPU温度和频率

安装 CPU主板温度检测:lm-sensors

apt install lm-sensors

查看cpu温度

PVE7.2 显示CPU温度和频率

查看CPU频率

PVE7.2 显示CPU温度和频率

修改配置文件

首先备份需要修改的文件

cp /usr/share/perl5/PVE/API2/Nodes.pm /usr/share/perl5/PVE/API2/Nodes.pm.bak

cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak

修改Nodes.pm文件

用FinalShell,或者WinSCP等其它SSH工具,修改这个文件/usr/share/perl5/PVE/API2/Nodes.pm

建议将文件下载到本地,修改方便

用notepad++打开Nodes.pm,搜索pveversion

$res->{pveversion} = PVE::pvecfg::package() . "/" .

PVE::pvecfg::version_text();

$res->{thermalstate} = `sensors`; #这里加一行

$res->{cpusensors} = `lscpu | grep MHz`; #这里也加一行

my $dinfo = df('/', 1); # output is bytes

PVE7.2 显示CPU温度和频率

修改完成后保存,将Nodes.pm放回原路径

修改pvemanagerlib.js文件

管理界面添加温度显示

notepad++打开文件pvemanagerlib.js,搜索textField: 'pveversion'

{

itemId: 'version',

colspan: 2,

printBar: false,

title: gettext('PVE Manager Version'),

textField: 'pveversion',

value: '',

},

#在此处开始复制,注意上面大括号后面的逗号不能少,否则后面网页显示白屏

{

itemId: 'thermal',

colspan: 2,

printBar: false,

title: gettext('CPU温度'),

textField: 'thermalstate',

renderer:function(value){

const p0 = value.match(/Package id 0.*?+([d.]+)Â/)[1];

const c0 = value.match(/Core 0.*?+([d.]+)Â/)[1];

const c1 = value.match(/Core 1.*?+([d.]+)Â/)[1];

const c2 = value.match(/Core 2.*?+([d.]+)Â/)[1];

const c3 = value.match(/Core 3.*?+([d.]+)Â/)[1];

return `Package: ${p0} ℃ || 核心1: ${c0} ℃ | 核心2: ${c1} ℃ | 核心3: ${c2} ℃ | 核心4: ${c3} ℃ `

#因为我是4个核心,所以添加4个。不同CPU核心数不一样,根据自身需求增加,或者也可以只保留1个Package温度

}

},

{

itemId: 'MHz',

colspan: 2,

printBar: false,

title: gettext('CPU频率'),

textField: 'cpusensors',

renderer:function(value){

const f0 = value.match(/CPU MHz.*?([d]+)/)[1];

const f1 = value.match(/CPU min MHz.*?([d]+)/)[1];

const f2 = value.match(/CPU max MHz.*?([d]+)/)[1];

return `CPU实时: ${f0} MHz | 最小: ${f1} MHz | 最大: ${f2} MHz `

}

},

#复制到上面就可以了,注意下面中括号后面的逗号

],

PVE7.2 显示CPU温度和频率

修改框架高度

不修改,会导致页面显示不全

notepad++打开文件pvemanagerlib.js,搜索widget.pveNodeStatus,修改height值

height 的值需按情况修改,每多一行数据增加 20

Ext.define('PVE.node.StatusView', {

extend: 'Proxmox.panel.StatusView',

alias: 'widget.pveNodeStatus',

height: 320, #原始值300,增加1行CPU温度、1行CPU频率,应改为340,这里我只增加1行显示,是因为我想屏蔽掉‘储存库状态’显示

bodyPadding: '15 5 15 5',

layout: {

type: 'table',

columns: 2,

tableAttrs: {

style: {

width: '100%',

},

},

},

PVE7.2 显示CPU温度和频率

搜索title: gettext('Detail'),,修改height值

iconCls: 'x-fa fa-info-circle',

handler: function(grid, rowindex, colindex, item, e, record) {

var win = Ext.create('Ext.window.Window', {

title: gettext('Detail'),

resizable: true,

modal: true,

width: 650,

height: 420, #原始值400,增加1行CPU温度、1行CPU频率,应改为440,这里我只增加1行显示,是因为我想屏蔽掉‘储存库状态’显示

layout: {

type: 'fit',

},

items: [{

scrollable: true,

padding: 10,

xtype: 'box',

html: [

'<span>' + Ext.htmlEncode(record.data.summary) + '</span>',

'<pre>' + Ext.htmlEncode(record.data.detail) + '</pre>',

PVE7.2 显示CPU温度和频率

修改完成后保存,将pvemanagerlib.js放回原路径

重启PVE页面服务

systemctl restart pveproxy

结语

原本还想增加硬盘温度显示,但试了各种方法,都不能正常显示,而且每个人主板硬件、硬盘数也不一样,设置起来比较繁琐,最后还是放弃了。。。。

如果想看自己的硬盘温度,可以通过安装硬盘温度检测组件查看

apt install hddtemp

hddtemp /dev/sd?查看硬盘温度

PVE7.2 显示CPU温度和频率

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
9评论

  • 精彩
  • 最新
  • 7.2能驱动8156b吗

    校验提示文案

    提交
    完全没问题

    校验提示文案

    提交
    需要手动安装驱动吗?还是插上就能用? [脸红]

    校验提示文案

    提交
    收起所有回复
  • 安装pve工具箱应该是最方便的方法了

    校验提示文案

    提交
  • 复制被人代码的时候能不能走点心***

    校验提示文案

    提交
  • 有脚本,一条命令解决

    校验提示文案

    提交
  • 觉得弄这个太麻烦,也没什么必要,命令行bashtop就可以看频率和温度了

    校验提示文案

    提交
  • 敲命令太麻烦了,用pvetools简单多了

    校验提示文案

    提交
    我也想有这东西为啥还要敲N多代码。。。

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
相关好价
最新文章 热门文章
95
扫一下,分享更方便,购买更轻松