Embedded systems are becoming increasingly complex and there is a growing trend to deploy complicated software systems such as operating systems and databases in embedded platforms. It is especially important to improve the efficiency of memory usage in embedded systems because these devices often have limited physical memory. Previous work on improving the efficiency of memory usage in OS kernels has mostly focused on reducing the size of code and global data in the OS kernel. However, there has not been many efforts on reducing the dynamic memory consumption of OS kernels. This paper, by contrast, presents dynamic data structure compression, a complementary approach that reduces the runtime memory footprint of dynamic data structures. A prototype implementation for the Linux kernel reduces the memory consumption of the slab allocators in the Linux kernel by about 17.5% when running the MediaBench suite, while incurring only minimal increases in code size (2.6%) and execution time (1.9%).