  We consider the problem of memory holes in slab allocators, where an item
entered into memory occupies more memory than it actually requires due to a
difference between the nearest larger slab class size and the size of the
entered item. We solve this problem by using a greedy algorithm that analyses
the pattern of the sizes of items previously entered into the memory and
accordingly re-configuring the default slab classes to better suit the learned
traffic pattern to minimize memory holes. Using this approach for a consistent
data pattern, in our findings, has yielded significant reductions in memory
wastage. We consider Memcached as it is one of the most widely used
implementations of slab allocators today, and has native support to reconfigure
its default slab classes.
