diff options
Diffstat (limited to 'src/status/memusage.c')
-rw-r--r-- | src/status/memusage.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/status/memusage.c b/src/status/memusage.c index d8a9de5..18d57a1 100644 --- a/src/status/memusage.c +++ b/src/status/memusage.c @@ -20,6 +20,7 @@ void status_memusage(GlobalData *g) long long memused; long long membuffers = 0; long long memcached = 0; + long long slab_reclaimable = 0; statusitem_init(&s); @@ -41,11 +42,18 @@ void status_memusage(GlobalData *g) stlen = getline(&stline, &stlen, stfile); memcached = atoll(&stline[16]); - free(stline); + while (0 < (stlen = getline(&stline, &stlen, stfile))) { + if (stlen > 13 && !memcmp(stline, "SReclaimable:", 13)) { + slab_reclaimable = atoll(&stline[16]); + break; + } + } + + free(stline); fclose(stfile); - memused = memtotal - memfree - memcached - membuffers; + memused = memtotal - memfree - memcached - slab_reclaimable - membuffers; memused /= 1024; // Just show MBs used |