Re: [Q] Default SLAB allocator

From: Eric Dumazet
Date: Tue Oct 16 2012 - 15:16:04 EST


On Tue, 2012-10-16 at 15:27 -0300, Ezequiel Garcia wrote:

> Yes, we have some numbers:
>
> http://elinux.org/Kernel_dynamic_memory_analysis#Kmalloc_objects
>
> Are they too informal? I can add some details...
>
> They've been measured on a **very** minimal setup, almost every option
> is stripped out, except from initramfs, sysfs, and trace.
>
> On this scenario, strings allocated for file names and directories
> created by sysfs
> are quite noticeable, being 4-16 bytes, and produce a lot of fragmentation from
> that 32 byte cache at SLAB.
>
> Is an option to enable small caches on SLUB and SLAB worth it?

Random small web server :

# free
total used free shared buffers cached
Mem: 7884536 5412572 2471964 0 155440 1803340
-/+ buffers/cache: 3453792 4430744
Swap: 2438140 51164 2386976

# grep Slab /proc/meminfo
Slab: 351592 kB

# egrep "kmalloc-32|kmalloc-16|kmalloc-8" /proc/slabinfo
kmalloc-32 11332 12544 32 128 1 : tunables 0 0 0 : slabdata 98 98 0
kmalloc-16 5888 5888 16 256 1 : tunables 0 0 0 : slabdata 23 23 0
kmalloc-8 76563 82432 8 512 1 : tunables 0 0 0 : slabdata 161 161 0

Really, some waste on these small objects is pure noise on SMP hosts.

(Waste on bigger objects is probably more important by orders of magnitude)




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/