From 794af5ed134375d4f12843510a491ba20b94a7f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Andriot?= Date: Mon, 13 Oct 2014 01:09:50 +0200 Subject: Enhance memory management in ksysguard on openbsd --- ksysguard/ksysguardd/OpenBSD/memory.c | 31 +++++++++++++++++++++++++++++++ ksysguard/ksysguardd/OpenBSD/memory.h | 4 ++++ 2 files changed, 35 insertions(+) (limited to 'ksysguard') diff --git a/ksysguard/ksysguardd/OpenBSD/memory.c b/ksysguard/ksysguardd/OpenBSD/memory.c index aaf893268..3deb88229 100644 --- a/ksysguard/ksysguardd/OpenBSD/memory.c +++ b/ksysguard/ksysguardd/OpenBSD/memory.c @@ -37,6 +37,8 @@ static size_t Total = 0; static size_t MFree = 0; +static size_t Used = 0; +static size_t Application = 0; static size_t Active = 0; static size_t InActive = 0; static size_t STotal = 0; @@ -71,6 +73,8 @@ initMemory(struct SensorModul* sm) registerMonitor("mem/physical/free", "integer", printMFree, printMFreeInfo, sm); registerMonitor("mem/physical/active", "integer", printActive, printActiveInfo, sm); registerMonitor("mem/physical/inactive", "integer", printInActive, printInActiveInfo, sm); + registerMonitor("mem/physical/used", "integer", printUsed, printUsedInfo, sm); + registerMonitor("mem/physical/application", "integer", printApplication, printApplicationInfo, sm); registerMonitor("mem/swap/free", "integer", printSwapFree, printSwapFreeInfo, sm); registerMonitor("mem/swap/used", "integer", printSwapUsed, printSwapUsedInfo, sm); } @@ -99,6 +103,9 @@ updateMemory(void) InActive /= 1024; InActive -= Active; + Used = Total - MFree; + Application = Used; + swapmode(&SUsed, &STotal); SFree = STotal - SUsed; return 0; @@ -116,6 +123,30 @@ printMFreeInfo(const char* cmd) fprintf(CurrentClient, "Free Memory\t0\t%d\tKB\n", Total); } +void +printUsed(const char* cmd) +{ + fprintf(CurrentClient, "%d\n", Used); +} + +void +printUsedInfo(const char* cmd) +{ + fprintf(CurrentClient, "Used Memory\t0\t%d\tKB\n", Total); +} + +void +printApplication(const char* cmd) +{ + fprintf(CurrentClient, "%d\n", Application); +} + +void +printApplicationInfo(const char* cmd) +{ + fprintf(CurrentClient, "Application Memory\t0\t%ld\tKB\n", Total); +} + void printActive(const char* cmd) { diff --git a/ksysguard/ksysguardd/OpenBSD/memory.h b/ksysguard/ksysguardd/OpenBSD/memory.h index 9cb11373a..905c5906e 100644 --- a/ksysguard/ksysguardd/OpenBSD/memory.h +++ b/ksysguard/ksysguardd/OpenBSD/memory.h @@ -35,6 +35,10 @@ void printActive(const char* cmd); void printActiveInfo(const char* cmd); void printInActive(const char* cmd); void printInActiveInfo(const char* cmd); +void printUsed(const char* cmd); +void printUsedInfo(const char* cmd); +void printApplication(const char* cmd); +void printApplicationInfo(const char* cmd); void printSwapUsed(const char* cmd); void printSwapUsedInfo(const char* cmd); void printSwapFree(const char* cmd); -- cgit v1.2.1