Changed RAM calculation formula. Former : MemTotal - MemAvailable New : (MemTotal - MemFree) - (Buffers + Cached)
Vincent Loupmon vincentloupmon@gmail.com
Wed, 09 Mar 2016 12:38:22 +0100
1 files changed,
4 insertions(+),
3 deletions(-)
jump to
M
slstatus.c
→
slstatus.c
@@ -162,7 +162,7 @@ char *
get_ram_usage() { int ram_perc; - long total, free, available; + long total, free, buffers, cached; FILE *fp; /* open meminfo file */@@ -174,13 +174,14 @@
/* read the values */ fscanf(fp, "MemTotal: %ld kB\n", &total); fscanf(fp, "MemFree: %ld kB\n", &free); - fscanf(fp, "MemAvailable: %ld kB\n", &available); + fscanf(fp, "MemAvailable: %ld kB\nBuffers: %ld kB\n", &buffers, &buffers); + fscanf(fp, "Cached: %ld kB\n", &cached); /* close meminfo file */ fclose(fp); /* calculate percentage */ - ram_perc = 100 * (total - available) / total; + ram_perc = 100 * ((total - free) - (buffers + cached)) / total; /* return ram_perc as string */ return smprintf("%d%%",ram_perc);