Unbounded growth of slab caches and how to shrink them
From: Nikolay Borisov
Date:  Wed Jun 29 2016 - 06:34:42 EST
Hello Christoph, 
I've observed a rather strange unbounded growth of the kmalloc-192 
slab cache: 
OBJS ACTIVE  USE OBJ SIZE  SLABS OBJ/SLAB CACHE SIZE NAME                   
711124869 411527215   3%    0.19K 16934908       42 135479264K kmalloc-192
Essentially the kmalloc is around 130 GB , yet only 3 percent of this are 
being used. In this case I'd like to essentially shrink the overall size 
of the cache. How is it possible to achieve that? I tried echoing '1' 
to /sys/kernel/slab/kmalloc-192/shrink but nothing changed. 
This is on 3.12 which is rather old kernel, but still I believe it is 
entirely possible for someone to find a way to flood a machine with
network requests which would cause a lot of objects to be allocate, 
resulting in a particular slab cache growing, then later when the request 
flood stops the cache would be almost empty, yet the memory won't be usable
for anything other than satisfying memory allocation from this cache. 
Regards, 
Nikolay