¿Qué son las large memory page y cómo configurarlas?
Hola de nuevo amigo. Soy Miguel Ángel Alonso y aquí estoy como todos los lunes para contarte algo nuevo sobre el maravilloso mundo de la virtualización.
¿Estás pensando en configurar largas páginas de memoria en VMware vSphere para aumentar el rendimiento de tus VMs en vSphere? Sí!! Pues tendrás que tener en cuenta algunas pequeñas cosas.
Las páginas de memoria grandes no serán compartidas con tanta facilidad como puedas presuponer, porque son mucho más bajas las posibilidades de encontrar páginas de memoria de 2 MB que sean idénticas entre ellas.
Transparent Page Sharing entra en acción sólo cuando hay contención de memoria, entonces y sólo entonces escanea y explora páginas de memoria idénticas. El análisis de las VMs se realiza periódicamente cada 60 minutos de forma predeterminada.
Recupera las páginas idénticas de 4KB (configuración predeterminada). Cuando las páginas de memoria coinciden, entonces todas esas páginas idénticas no se almacenan en la memoria física a excepción de una que será compartida con todas las VMs que la estén usando.
Las Páginas grandes permiten a las aplicaciones establecer regiones de memoria grande. Las traducciones de dirección de memoria (Memory Address Translation) utilizan Translation lookaside buffers (TLB) dentro de la CPU. TLB es la caché en hardware de gestión de memoria que se utiliza para acelerar las traducciones de direcciones virtuales.
Con respecto a la configuración del documento de mejores prácticas de rendimiento con grandes páginas de memoria de vSphere 5.5 nos muestra que:
“In addition to the usual 4KB memory pages, ESXi also provides 2MB memory pages (commonly referred to as “large pages”). ESXi assigns these 2MB machine memory pages to guest operating systems whenever possible; on systems with hardware-assisted MMU virtualization, ESXi does this even if the guest operating system doesn’t request them (though the full benefit of large pages comes only when the guest operating system and applications use them as well). The use of large pages can significantly reduce TLB misses, improving the performance of most workloads, especially those with large active memory working sets.”
Además, estas páginas grandes ligeramente pueden reducir la sobrecarga de espacio de memoria por VM, si además un sistema operativo o una aplicación puede beneficiarse de páginas grandes en un sistema nativo, ese sistema operativo o aplicación potencialmente puede lograr una mejora del rendimiento similar en una máquina virtual respaldada con páginas de memoria de 2MB.
El uso de páginas grandes también puede cambiar el comportamiento del intercambio de página predeterminado por VMware y aunque nuestros ESXi normalmente utilizan la compartición de páginas independientemente de las demandas de memoria, no comparte páginas grandes. Por lo tanto con grandes páginas de memoria, compartir páginas de este tamaño podría no ocurrir hasta que la asignación de memoria sea lo suficientemente alta como para requerir que estas puedan dividirse en páginas pequeñas.
Para más información ver VMware KB de los artículos 1021095 y 1021896.
La configuración de las página de memoria puede hacerse desde las opciones avanzadas de nuestros ESXi, desde el cliente web de vSphere selecciona Host > administrar > ajustes y desde el filtro de búsqueda LPage. Puedes modificar dichas opciones, pero procede con cautela y ésta seguro de saber lo que estás haciendo.
Bueno amigo, espero que te haya gustado y te emplazo hasta la semana que viene con un nuevo y apasionante post del mundo de la virtualización. Que tengas una muy buena semana.
Gracias por leer nuestro blog, participar y compartir.