memory usage excludes buffer and cache.

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

View file

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

View file

@ -1,5 +1,5 @@
import * as os from 'os'; import * as os from 'os';
const osUtils = require('os-utils'); const sysUtils = require('systeminformation');
import * as diskusage from 'diskusage'; import * as diskusage from 'diskusage';
import Xev from 'xev'; import Xev from 'xev';
@ -18,25 +18,59 @@ export default function() {
}); });
async function tick() { async function tick() {
osUtils.cpuUsage((cpuUsage: number) => { const cpu = await cpuUsage();
const disk = diskusage.checkSync(os.platform() == 'win32' ? 'c:' : '/'); const freemem = await freeMem();
const stats = { const totalmem = await totalMem();
cpu_usage: cpuUsage, const disk = diskusage.checkSync(os.platform() == 'win32' ? 'c:' : '/');
mem: {
total: os.totalmem(), const stats = {
free: os.freemem() cpu_usage: cpu,
}, mem: {
disk, total: totalmem,
os_uptime: os.uptime(), free: freemem
process_uptime: process.uptime() },
}; disk,
ev.emit('serverStats', stats); os_uptime: os.uptime(),
log.push(stats); process_uptime: process.uptime()
if (log.length > 50) log.shift(); };
}); ev.emit('serverStats', stats);
log.push(stats);
} }
tick(); tick();
setInterval(tick, interval); 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);
}
}