X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fmemory.c;h=8166accd1e9abfcb6f122fa29c359ae080480af7;hb=0e363577f4d0a94bef1929f9d9829fb94765ec1e;hp=c503821ba0ce095b2241dc10689a3d60c7c11c7d;hpb=e30c4b09f2ba06ed279d7ddfdc3714e1b3ab3a06;p=collectd.git diff --git a/src/memory.c b/src/memory.c index c503821b..8166accd 100644 --- a/src/memory.c +++ b/src/memory.c @@ -283,6 +283,8 @@ static int memory_read_internal (value_list_t *vl) gauge_t mem_buffered = 0; gauge_t mem_cached = 0; gauge_t mem_free = 0; + gauge_t mem_slab_reclaimable = 0; + gauge_t mem_slab_unreclaimable = 0; if ((fh = fopen ("/proc/meminfo", "r")) == NULL) { @@ -304,6 +306,10 @@ static int memory_read_internal (value_list_t *vl) val = &mem_buffered; else if (strncasecmp (buffer, "Cached:", 7) == 0) val = &mem_cached; + else if (strncasecmp (buffer, "SReclaimable:", 13) == 0) + val = &mem_slab_reclaimable; + else if (strncasecmp (buffer, "SUnreclaim:", 11) == 0) + val = &mem_slab_unreclaimable; else continue; @@ -324,11 +330,13 @@ static int memory_read_internal (value_list_t *vl) if (mem_total < (mem_free + mem_buffered + mem_cached)) return (-1); - mem_used = mem_total - (mem_free + mem_buffered + mem_cached); - MEMORY_SUBMIT ("used", mem_used, - "buffered", mem_buffered, - "cached", mem_cached, - "free", mem_free); + mem_used = mem_total - (mem_free + mem_buffered + mem_cached + mem_slab_unreclaimable + mem_slab_reclaimable); + MEMORY_SUBMIT ("used", mem_used, + "buffered", mem_buffered, + "cached", mem_cached, + "free", mem_free, + "slab_unrecl", mem_slab_unreclaimable, + "slab_recl", mem_slab_reclaimable); /* #endif KERNEL_LINUX */ #elif HAVE_LIBKSTAT