b5ae06
diff -urNp c/agent/mibgroup/hardware/memory/memory_linux.c d/agent/mibgroup/hardware/memory/memory_linux.c
b5ae06
--- c/agent/mibgroup/hardware/memory/memory_linux.c	2019-04-10 14:07:47.375285001 +0200
b5ae06
+++ d/agent/mibgroup/hardware/memory/memory_linux.c	2019-04-12 11:39:11.677314245 +0200
b5ae06
@@ -29,7 +29,7 @@ int netsnmp_mem_arch_load( netsnmp_cache
b5ae06
     ssize_t      bytes_read;
b5ae06
     char        *b;
b5ae06
     unsigned long memtotal = 0,  memfree = 0, memshared = 0,
b5ae06
-                  buffers = 0,   cached = 0,
b5ae06
+                  buffers = 0,   cached = 0, sreclaimable = 0,
b5ae06
                   swaptotal = 0, swapfree = 0;
b5ae06
 
b5ae06
     netsnmp_memory_info *mem;
b5ae06
@@ -126,6 +126,13 @@ int netsnmp_mem_arch_load( netsnmp_cache
b5ae06
         if (first)
b5ae06
             snmp_log(LOG_ERR, "No SwapTotal line in /proc/meminfo\n");
b5ae06
     }
b5ae06
+    b = strstr(buff, "SReclaimable: ");
b5ae06
+    if (b)
b5ae06
+        sscanf(b, "SReclaimable: %lu", &sreclaimable);
b5ae06
+    else {
b5ae06
+        if (first)
b5ae06
+            snmp_log(LOG_ERR, "No SReclaimable line in /proc/meminfo\n");
b5ae06
+    }
b5ae06
     b = strstr(buff, "SwapFree: ");
b5ae06
     if (b)
b5ae06
         sscanf(b, "SwapFree: %lu", &swapfree);
b5ae06
@@ -182,7 +189,7 @@ int netsnmp_mem_arch_load( netsnmp_cache
b5ae06
         if (!mem->descr)
b5ae06
              mem->descr = strdup("Cached memory");
b5ae06
         mem->units = 1024;
b5ae06
-        mem->size  = cached;
b5ae06
+        mem->size  = cached+sreclaimable;
b5ae06
         mem->free  = 0;     /* Report cached size/used as equal */
b5ae06
         mem->other = -1;
b5ae06
     }