“Transparent Hugepages” is a Linux kernel feature intended to improve performance by making more efficient use of your processor’s memory-mapping hardware. It is enabled (“enabled=always
”) by default in most Linux distributions.
Transparent Hugepages give some applications a small performance improvement (~ 10% at best, 0-3% more typically), but can cause significant performance problems, or even apparent memory leaks at worst.
To avoid these problems, you should set enabled=madvise
on your servers by running
echo madvise | sudo tee /sys/kernel/mm/transparent_hugepage/enabled
and setting transparent_hugepage=madvise
on your kernel command line (e.g. in /etc/default/grub
).
This change will allow applications that are optimized for transparent huge pages to obtain the performance benefits, and prevent the associated problems otherwise.