summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--library/include/slabinfo.h2
-rw-r--r--library/slabinfo.c4
-rw-r--r--man/slabtop.18
3 files changed, 12 insertions, 2 deletions
diff --git a/library/include/slabinfo.h b/library/include/slabinfo.h
index 128bad9..f63ca79 100644
--- a/library/include/slabinfo.h
+++ b/library/include/slabinfo.h
@@ -40,7 +40,7 @@ enum slabinfo_item {
SLAB_ACTIVE_SLABS, // u_int "
SLAB_PAGES_PER_SLAB, // u_int "
SLAB_PERCENT_USED, // u_int derived from ACTIVE_OBJS / NUM_OBJS
- SLAB_SIZE_TOTAL, // ul_int derived from page size * NUM_OBJS * PAGES_PER_SLAB
+ SLAB_SIZE_TOTAL, // ul_int derived from page size * NUMS_SLABS * PAGES_PER_SLAB
SLABS_CACHES_TOTAL, // u_int derived from all caches
SLABS_CACHES_ACTIVE, // u_int "
diff --git a/library/slabinfo.c b/library/slabinfo.c
index a4386d6..1d4453f 100644
--- a/library/slabinfo.c
+++ b/library/slabinfo.c
@@ -434,6 +434,10 @@ static int parse_slabinfo20 (
if (node->obj_size > slabs->max_obj_size)
slabs->max_obj_size = node->obj_size;
+ /* cache_size is not accurate, it's the upper limit of memory used by this slab.
+ * When system using slub(most common case) is under high memory pressure, there
+ * are slab order fallbacks, which means pages_per_slab is not constant and may decrease.
+ */
node->cache_size = (unsigned long)node->nr_slabs * node->pages_per_slab * page_size;
if (node->nr_objs) {
diff --git a/man/slabtop.1 b/man/slabtop.1
index edf4784..089fb0e 100644
--- a/man/slabtop.1
+++ b/man/slabtop.1
@@ -104,7 +104,13 @@ The
.B slabtop
statistic header is tracking how many bytes of slabs are being
used and is not a measure of physical memory. The 'Slab' field in the
-\fI/proc/meminfo\fR file is tracking information about used slab physical
+\fI/proc/meminfo\fR file is tracking information about used slab physical memory.
+.PP
+The
+.B CACHE SIZE
+column is not accurate, it's the upper limit of memory used by specific slab. When system
+using slub (most common case) is under high memory pressure, there are slab order
+fallbacks, which means "pages per slab" is not constant and may decrease.
.SH AUTHORS
Written by Chris Rivera and Robert Love.
.PP