From 44c70ca4d6c20a22888c0e45743d6d62c78e45b9 Mon Sep 17 00:00:00 2001 From: David Bauer Date: Sat, 25 Aug 2018 00:57:34 +0200 Subject: [PATCH 1/2] gluon-respondd: expose MemAvailable --- package/gluon-respondd/src/respondd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/gluon-respondd/src/respondd.c b/package/gluon-respondd/src/respondd.c index 0cdf5408..b0b74936 100644 --- a/package/gluon-respondd/src/respondd.c +++ b/package/gluon-respondd/src/respondd.c @@ -197,6 +197,8 @@ static struct json_object * get_memory(void) { json_object_object_add(ret, "total", json_object_new_int(value)); else if (!strcmp(label, "MemFree")) json_object_object_add(ret, "free", json_object_new_int(value)); + else if (!strcmp(label, "MemAvailable")) + json_object_object_add(ret, "available", json_object_new_int(value)); else if (!strcmp(label, "Buffers")) json_object_object_add(ret, "buffers", json_object_new_int(value)); else if (!strcmp(label, "Cached")) From 02dfc664386426347b1cae90ff66e7a68cd90a5a Mon Sep 17 00:00:00 2001 From: David Bauer Date: Fri, 24 Aug 2018 02:22:11 +0200 Subject: [PATCH 2/2] gluon-status-page: update memory usage estimation Let gluon-respondd expose "MemAvailable" from /proc/meminfo to allow for a more realistic memory-usage estimation. Information on MemAvailable can be found here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 --- package/gluon-status-page/javascript/status-page.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/gluon-status-page/javascript/status-page.js b/package/gluon-status-page/javascript/status-page.js index fcd6fd95..e3405cf6 100644 --- a/package/gluon-status-page/javascript/status-page.js +++ b/package/gluon-status-page/javascript/status-page.js @@ -74,7 +74,7 @@ return _['%s used'].sprintf(formatNumber(100 * value, 3) + '%'); }, 'memory': function(memory) { - var usage = 1 - (memory.free + memory.buffers + memory.cached) / memory.total + var usage = 1 - memory.available / memory.total return formats.percent(usage); }, 'time': function(seconds) {