cpuTemperature() optimizes scanning AMD linux sensors

This commit is contained in:
Sebastian Hildebrandt
2020-05-27 20:03:02 +02:00
parent 66864ec8ff
commit 2816a48a66
5 changed files with 18 additions and 3 deletions
+9
View File
@@ -789,6 +789,7 @@ function cpuTemperature(callback) {
exec('sensors', function (error, stdout) {
if (!error) {
let lines = stdout.toString().split('\n');
let tdieTemp = -1;
lines.forEach(function (line) {
let regex = /[+-]([^°]*)/g;
let temps = line.match(regex);
@@ -799,6 +800,9 @@ function cpuTemperature(callback) {
if (firstPart.indexOf('CORE ') !== -1) {
result.cores.push(parseFloat(temps));
}
if (firstPart.indexOf('TDIE') !== -1 && tdieTemp === -1) {
tdieTemp = parseFloat(temps);
}
});
if (result.cores.length > 0) {
if (result.main === -1) {
@@ -806,6 +810,11 @@ function cpuTemperature(callback) {
}
let maxtmp = Math.max.apply(Math, result.cores);
result.max = (maxtmp > result.main) ? maxtmp : result.main;
} else {
if (result.main === -1 && tdieTemp !== -1) {
result.main = tdieTemp;
result.max = tdieTemp;
}
}
if (callback) { callback(result); }
resolve(result);