mirror of https://github.com/xzeldon/htop.git
parent
90518bfc84
commit
402e46bb82
|
@ -927,30 +927,30 @@ static inline void LinuxProcessList_scanMemoryInfo(ProcessList* this) {
|
||||||
char buffer[128];
|
char buffer[128];
|
||||||
while (fgets(buffer, 128, file)) {
|
while (fgets(buffer, 128, file)) {
|
||||||
|
|
||||||
#define tryRead(label, variable) (String_startsWith(buffer, label) && sscanf(buffer + strlen(label), " %32llu kB", variable))
|
#define tryRead(label, variable) do { if (String_startsWith(buffer, label) && sscanf(buffer + strlen(label), " %32llu kB", variable)) { break; } } while(0)
|
||||||
switch (buffer[0]) {
|
switch (buffer[0]) {
|
||||||
case 'M':
|
case 'M':
|
||||||
if (tryRead("MemTotal:", &this->totalMem)) {}
|
tryRead("MemTotal:", &this->totalMem);
|
||||||
else if (tryRead("MemFree:", &this->freeMem)) {}
|
tryRead("MemFree:", &this->freeMem);
|
||||||
else if (tryRead("MemShared:", &this->sharedMem)) {}
|
tryRead("MemShared:", &this->sharedMem);
|
||||||
break;
|
break;
|
||||||
case 'B':
|
case 'B':
|
||||||
if (tryRead("Buffers:", &this->buffersMem)) {}
|
tryRead("Buffers:", &this->buffersMem);
|
||||||
break;
|
break;
|
||||||
case 'C':
|
case 'C':
|
||||||
if (tryRead("Cached:", &this->cachedMem)) {}
|
tryRead("Cached:", &this->cachedMem);
|
||||||
break;
|
break;
|
||||||
case 'S':
|
case 'S':
|
||||||
switch (buffer[1]) {
|
switch (buffer[1]) {
|
||||||
case 'w':
|
case 'w':
|
||||||
if (tryRead("SwapTotal:", &this->totalSwap)) {}
|
tryRead("SwapTotal:", &this->totalSwap);
|
||||||
else if (tryRead("SwapFree:", &swapFree)) {}
|
tryRead("SwapFree:", &swapFree);
|
||||||
break;
|
break;
|
||||||
case 'h':
|
case 'h':
|
||||||
if (tryRead("Shmem:", &shmem)) {}
|
tryRead("Shmem:", &shmem);
|
||||||
break;
|
break;
|
||||||
case 'R':
|
case 'R':
|
||||||
if (tryRead("SReclaimable:", &sreclaimable)) {}
|
tryRead("SReclaimable:", &sreclaimable);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -3,7 +3,7 @@ import os, sys, string, io
|
||||||
try:
|
try:
|
||||||
from StringIO import StringIO
|
from StringIO import StringIO
|
||||||
except ImportError:
|
except ImportError:
|
||||||
from io import StringIO
|
StringIO = io.StringIO
|
||||||
|
|
||||||
ANY=1
|
ANY=1
|
||||||
COPY=2
|
COPY=2
|
||||||
|
|
Loading…
Reference in New Issue