From 204169030afdec6b5194c1cdf4265a82f3171b05 Mon Sep 17 00:00:00 2001 From: Kennedy Oliveira Date: Sun, 10 Jul 2022 19:17:13 -0300 Subject: [PATCH 1/2] Fix memory usage report on non-linux systems --- libs/health.js | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/libs/health.js b/libs/health.js index 31d2755e..44b87ad8 100644 --- a/libs/health.js +++ b/libs/health.js @@ -100,18 +100,29 @@ module.exports = function(s,config,lang,io){ k.cmd = "LANG=C free | grep Mem | awk '{print $7/$2 * 100.0}'"; break; } + let percent = 0 + let used = 0 if(k.cmd){ - exec(k.cmd,{encoding:'utf8',detached: true},function(err,d){ - if(s.isWin===true){ - d=(parseInt(d.split('=')[1])/(s.totalmem/1000))*100 - } - resolve(d) - s.onGetRamUsageExtensions.forEach(function(extender){ - extender(d) - }) - }) + exec(k.cmd,{encoding:'utf8',detached: true},function(err,d){ + if(s.isWin===true){ + const freeMb = parseInt(d.split('=')[1].trim()) / 1024 + const totalMemInMb = s.totalmem/1024/1024 + used = totalMemInMb - freeMb + percent=(used/totalMemInMb)*100 + } + resolve({ + used, + percent + }) + s.onGetRamUsageExtensions.forEach(function(extender){ + extender(percent) + }) + }) }else{ - resolve(0) + resolve({ + used, + percent + }) } }) } From dfb275cd2fbb00b067ed869070477ef2e43bd1cf Mon Sep 17 00:00:00 2001 From: Kennedy Oliveira Date: Sun, 10 Jul 2022 21:09:17 -0300 Subject: [PATCH 2/2] Fix CPU usage on macos --- libs/health.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libs/health.js b/libs/health.js index 44b87ad8..a0ad9eb7 100644 --- a/libs/health.js +++ b/libs/health.js @@ -55,6 +55,9 @@ module.exports = function(s,config,lang,io){ exec(k.cmd,{encoding:'utf8',detached: true},function(err,d){ if(s.isWin===true){ d=d.replace(/(\r\n|\n|\r)/gm,"").replace(/%/g,"") + }else if(s.platform == 'darwin') { + // on macos the cpu% is per core, so a 10 core machine can go up to 1000% + d=parseFloat(d.trim()) / s.coreCount } resolve(d) s.onGetCpuUsageExtensions.forEach(function(extender){ @@ -109,6 +112,8 @@ module.exports = function(s,config,lang,io){ const totalMemInMb = s.totalmem/1024/1024 used = totalMemInMb - freeMb percent=(used/totalMemInMb)*100 + } else { + percent = d.trim() } resolve({ used,