Linux: handle hugepages

Subtract hugepages from normal memory.
Add a HugePageMeter.

Closes: #447
This commit is contained in:
Christian Göttsche
2021-01-05 15:50:23 +01:00
committed by cgzones
parent 71f51a20c1
commit 4d85848988
6 changed files with 138 additions and 2 deletions

View File

@ -30,6 +30,7 @@ in the source distribution for its full text.
#include "DateTimeMeter.h"
#include "DiskIOMeter.h"
#include "HostnameMeter.h"
#include "HugePageMeter.h"
#include "IOPriority.h"
#include "IOPriorityPanel.h"
#include "LinuxProcess.h"
@ -161,6 +162,7 @@ const MeterClass* const Platform_meterTypes[] = {
&LoadMeter_class,
&MemoryMeter_class,
&SwapMeter_class,
&HugePageMeter_class,
&TasksMeter_class,
&UptimeMeter_class,
&BatteryMeter_class,
@ -284,8 +286,8 @@ void Platform_setMemoryValues(Meter* this) {
long int usedMem = pl->usedMem;
long int buffersMem = pl->buffersMem;
long int cachedMem = pl->cachedMem;
usedMem -= buffersMem + cachedMem;
this->total = pl->totalMem;
usedMem -= buffersMem + cachedMem + lpl->totalHugePageMem;
this->total = pl->totalMem - lpl->totalHugePageMem;
this->values[0] = usedMem;
this->values[1] = buffersMem;
this->values[2] = cachedMem;