From 3521752fd745c059c422884951e6a090de4b25ba Mon Sep 17 00:00:00 2001 From: Jean-Claude Bau <jean-claude.bau@cern.ch> Date: Wed, 26 Feb 2020 17:02:33 +0100 Subject: [PATCH] SNMP.wrsMemoryGroup: Optimization and refactoring --- userspace/snmpd/wrsMemoryGroup.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/userspace/snmpd/wrsMemoryGroup.c b/userspace/snmpd/wrsMemoryGroup.c index d58aba90e..734346a2a 100644 --- a/userspace/snmpd/wrsMemoryGroup.c +++ b/userspace/snmpd/wrsMemoryGroup.c @@ -71,14 +71,12 @@ time_t wrsMemory_data_fill(void) fclose(f); if (found == MEMINFO_ENTRIES && mem_total > 0) { /* avoid div 0 */ + unsigned long allFreeMem= mem_free + mem_buffers +mem_cached; wrsMemory_s.wrsMemoryTotal = (int) mem_total; - wrsMemory_s.wrsMemoryUsed = (int) (mem_total - mem_free - - mem_buffers - mem_cached); - wrsMemory_s.wrsMemoryUsedPerc = (int) ((mem_total - mem_free - - mem_buffers - mem_cached) + wrsMemory_s.wrsMemoryUsed = (int) (mem_total - allFreeMem); + wrsMemory_s.wrsMemoryUsedPerc = (int) ((mem_total - allFreeMem) * 100 / mem_total); - wrsMemory_s.wrsMemoryFree = (int) (mem_free + mem_buffers - + mem_cached); + wrsMemory_s.wrsMemoryFree = (int) (allFreeMem); } else { /* if not enough entries found */ snmp_log(LOG_ERR, "SNMP: " SL_ER " wrsMemoryGroup error while reading " -- GitLab