luci-mod-status: use available and cached memory for progress bars

Fixes: #1148

Uses available and cached memory from /proc/meminfo via procd, and carefully
handles the cases where they are nil or zero, so as to not require specific
linux or procd versions to function

MemAvailable is a better estimate than free + buffered/cached, see:
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0

Also adds a new progressbar that shows cached memory if not nil

Signed-off-by: Zachary Cook <zachcook1991@gmail.com>
This commit is contained in:
Zachary Cook 2019-11-02 17:01:58 -04:00
parent aa5151e2d1
commit b436eb0545

View file

@ -31,11 +31,14 @@ return L.Class.extend({
swap = L.isObject(systeminfo.swap) ? systeminfo.swap : {};
var fields = [
_('Total Available'), (mem.total && mem.free && mem.buffered) ? mem.free + mem.buffered : null,
_('Total Available'), (mem.available) ? mem.available : (mem.total && mem.free && mem.buffered) ? mem.free + mem.buffered : null,
_('Free'), (mem.total && mem.free) ? mem.free : null,
_('Buffered'), (mem.total && mem.buffered) ? mem.buffered : null
];
if (mem.cached)
fields.push(_('Cached'), mem.cached);
if (swap.total > 0)
fields.push(_('Swap free'), swap.free);