memory usage excludes buffer and cache.

This commit is contained in:
2vg 2018-07-27 17:31:19 +09:00
parent ca1001db65
commit e61c5bf880
2 changed files with 52 additions and 18 deletions

View file

@ -159,7 +159,6 @@
"nprogress": "0.2.0",
"object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0",
"os-utils": "0.0.14",
"parse5": "5.0.0",
"portscanner": "2.2.0",
"progress-bar-webpack-plugin": "1.11.0",
@ -187,6 +186,7 @@
"stylus": "0.54.5",
"stylus-loader": "3.0.2",
"summaly": "2.0.6",
"systeminformation": "3.42.4",
"syuilo-password-strength": "0.0.1",
"textarea-caret": "3.1.0",
"tmp": "0.0.33",

View file

@ -1,5 +1,5 @@
import * as os from 'os';
const osUtils = require('os-utils');
const sysUtils = require('systeminformation');
import * as diskusage from 'diskusage';
import Xev from 'xev';
@ -18,25 +18,59 @@ export default function() {
});
async function tick() {
osUtils.cpuUsage((cpuUsage: number) => {
const disk = diskusage.checkSync(os.platform() == 'win32' ? 'c:' : '/');
const stats = {
cpu_usage: cpuUsage,
mem: {
total: os.totalmem(),
free: os.freemem()
},
disk,
os_uptime: os.uptime(),
process_uptime: process.uptime()
};
ev.emit('serverStats', stats);
log.push(stats);
if (log.length > 50) log.shift();
});
const cpu = await cpuUsage();
const freemem = await freeMem();
const totalmem = await totalMem();
const disk = diskusage.checkSync(os.platform() == 'win32' ? 'c:' : '/');
const stats = {
cpu_usage: cpu,
mem: {
total: totalmem,
free: freemem
},
disk,
os_uptime: os.uptime(),
process_uptime: process.uptime()
};
ev.emit('serverStats', stats);
log.push(stats);
}
tick();
setInterval(tick, interval);
}
// CPU STAT
async function cpuUsage() {
try {
const data = await sysUtils.currentLoad();
return Math.floor(data.currentload);
}
catch(error) {
console.error(error);
}
}
// MEMORY(excl buffer + cache) STAT
async function freeMem() {
try {
const data = await sysUtils.mem();
return data.active;
}
catch(error) {
console.error(error);
}
}
// TOTAL MEMORY STAT
async function totalMem() {
try {
const data = await sysUtils.mem();
return data.total;
}
catch(error) {
console.error(error);
}
}