blob: 37ba563ca59a45c5cf8e22e9aa2e157fe85dabf0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#include <stdio.h>
#include <stdlib.h>
#include "memusage.h"
#include "tools.h"
void status_memusage()
{
char *stline = NULL;
size_t stlen;
FILE *stfile;
int memtotal = 0;
int memfree = 0;
int memused;
int membuffers = 0;
int memcached = 0;
stfile = fopen("/proc/meminfo", "r");
if (stfile != NULL)
{
stlen = getline(&stline, &stlen, stfile);
memtotal = atoi(&stline[17]);
stlen = getline(&stline, &stlen, stfile);
memfree = atoi(&stline[17]);
stlen = getline(&stline, &stlen, stfile);
membuffers = atoi(&stline[17]);
stlen = getline(&stline, &stlen, stfile);
memcached = atoi(&stline[17]);
free(stline);
fclose(stfile);
memused = memtotal - memfree - memcached - membuffers;
memused /= 1024; // Just show MBs used
if ((float)memused / (float)memtotal < 0.85)
fputs("^fg(green)", stdout); // < 85% mem used
else
fputs("^fg(red)", stdout); // >= 85% mem used
printf(" Mem: %d M ", memused);
}
}
|