安裝軟體
安裝 lm-sensors
套件,監控感應器服務,提供監控溫度、電控、濕度和風扇的工具安裝完後執行掃描 sensors-detect
跑完第一次硬體規格掃描後再執行 sensors
,會顯示目前系統溫度
sudo apt-get update
sudo apt-get install lm-sensors
#安裝完後執掃描硬體
sudo sensors-detect
sudo sensors
第1種方法
vim /usr/share/perl5/PVE/API2/Nodes.pm
$res->{pveversion} = PVE::pvecfg::package() . "/" .
PVE::pvecfg::version_text();
$res->{thermalstate} = `sensors`; <<<這裡增加這一行
my $dinfo = df('/', 1); # output is bytes
$res->{rootfs} = {
total => $dinfo->{blocks},
avail => $dinfo->{bavail},
used => $dinfo->{used},
free => $dinfo->{blocks} - $dinfo->{used},
};
vim /usr/share/pve-manager/js/pvemanagerlib.js
# 第一段
Ext.define('PVE.node.StatusView', {
extend: 'PVE.panel.StatusView',
alias: 'widget.pveNodeStatus',
height: 320, <<<將這個預設 300 修改成 320
bodyPadding: '20 15 20 15',
layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%'
}
}
# 第二段
{
itemId: 'version',
colspan: 2,
printBar: false,
title: gettext('PVE Manager Version'),
textField: 'pveversion',
value: ''
}, <<< 這裡有一個 , 號不然會有問題
#增加這一段
{
itemId: 'thermal',
colspan: 2,
printBar: false,
title: gettext('CPU Thermal State'),
textField: 'thermalstate',
renderer:function(value){
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 `Core 0: ${c0} ℃ | Core 1: ${c1} ℃ | Core 2: ${c2} ℃ | Core 3: ${c3} ℃`
}
}
第2種方法
https://medium.com/help-14/add-amd-cpu-gpu-nvme-temperature-monitoring-to-proxmox-7-a95147df71cd
vim /usr/share/perl5/PVE/API2/Nodes.pm
$res->{pveversion} = PVE::pvecfg::package() . "/" .
PVE::pvecfg::version_text();
$res->{CPUtemperature} = `sensors`; <<<這裡增加這一行
$res->{GPUtemperature} = `sensors`;
$res->{Nvmetemperature} = `sensors`;
$res->{HDDCPUtemperature} = `hddtemp /dev/sda`;
my $dinfo = df('/', 1); # output is bytes
$res->{rootfs} = {
total => $dinfo->{blocks},
avail => $dinfo->{bavail},
used => $dinfo->{used},
free => $dinfo->{blocks} - $dinfo->{used},
};
vim /usr/share/pve-manager/js/pvemanagerlib.js
# 第一段
Ext.define('PVE.node.StatusView', {
extend: 'PVE.panel.StatusView',
alias: 'widget.pveNodeStatus',
height: 320, <<<將這個預設 300 修改成 320 or 420
bodyPadding: '20 15 20 15',
layout: {
type: 'table',
columns: 2,
tableAttrs: {
style: {
width: '100%'
}
}
# 第二段
{
itemId: 'version',
colspan: 2,
printBar: false,
title: gettext('PVE Manager Version'),
textField: 'pveversion',
value: ''
}, <<< 這裡有一個 , 號不然會有問題
#增加這一段因為我的CPU是core所以更動
{
itemId: 'CPUtemperature',
colspan: 2,
printBar: false,
title: gettext('CPU Temperature'),
textField: 'CPUtemperature',
renderer: function(value){
const dieTemp = Array.from(value.matchAll(/Core .*?\+([\d\.]+)?/g), m=>m[1]);
return dieTemp.map((element, index) => `CPU Core ${index+1}: ${element}℃`).join(' | ');
}
},
重新啟動pveproxy
systemctl restart pveproxy
Vim 搜尋方法
在 Vim 編輯器中若要搜尋檔案中的關鍵字,
可以使用 /
(向後搜尋)或 ?
(向前搜尋),例如向後搜尋 Gun
這個關鍵字:
\Gun
?Gun