Kernel Linux: Transparent Hugepage Support

A mayor cantidad de memoria RAM disponible, el desempeño general del equipo debería ser mayor. Sin embargo en servidores con grandes cantidades de RAM puede darse la paradoja de que el rendimiento disminuya conforme aumenta la cantidad de RAM, incluso podría llegarse al extremo de que los procesos dejen de ejecutarse porque deben de esperar de forma indefinida hasta conseguir que el kernel le asigne memoria RAM.

¿Como es posible que un servidor con muchos gigas de RAM tenga peor desempeño que otro con muchos menos gigas de RAM? Porque a mayor cantidad de memoria RAM, deben de cachearse mayor número de páginas de memoria. Así, por ejemplo, un servidor con 12GiB de RAM con el tamaño de página por defecto (4KiB), tendría una tabla de paginación con 3.145.728 de páginas. Hugepages permite páginas de mayor tamaño, por defecto 2MiB en Linux x86_64 y x86-PAE, y 4MiB en Linux x86. Así, por ejemplo, un servidor Linux x86_64 con 12GiB de RAM y hugepages tendría una tabla de paginación con solo 6.144 páginas.
Tenga en cuenta que hugepages puede incrementar el uso de RAM

Por tanto hugepages permite tablas de paginación mas reducidas y un menor uso de ciclos de CPU en la gestión de las páginas de memoria. Lo cual redunda en un aumento en el desempeño del servidor. En este tutorial se verá como configurar hugepages.
Leer completo...