Sergey Nivens - Fotolia
Estrategias de gestión de memoria para mejorar el desempeño de las VM
Hay varias opciones de gestión de la memoria, cada una con sus propios casos de uso. Entender las diferencias puede ayudar a los administradores a optimizar la memoria virtual y mitigar la contención de recursos.
Los administradores de TI pueden utilizar estrategias de dimensionamiento y gestión de la memoria para optimizar la memoria virtual y mejorar el rendimiento del sistema. Antes de que los administradores utilicen estos métodos de optimización de la memoria, deben tener en cuenta los requisitos de la carga de trabajo, incluyendo la CPU y el almacenamiento.
Las estrategias de gestión de la memoria, como la rápida expasión de memoria o «ballooning», son componentes esenciales de un sistema que funcione correctamente. Sin ellas, los administradores se arriesgan a la contención de recursos y a un rendimiento inadecuado del sistema. Pero los administradores deben optimizar la memoria con cautela porque algunas tácticas tienen problemas, como el tiempo de inactividad prolongado.
Optimizar los recursos de memoria en un entorno virtual
Para optimizar los recursos de memoria, los administradores pueden seleccionar la cantidad exacta de memoria necesaria para ejecutar una máquina virtual o habilitar las funciones del sistema para mejorar el uso de la memoria para las máquinas virtuales con requisitos de recursos fluctuantes. Si la memoria es demasiado escasa, el sistema utiliza archivos de página, lo que puede perjudicar el rendimiento. Los administradores se arriesgan a la contención de recursos si asignan demasiada memoria.
Los administradores pueden utilizar la expansión rápida de memoria, la asignación dinámica, la paginación, el overcommitment o sobreasignación, la replicación o mirroring, el intercambio o swapping y la compartición transparente de páginas o transparent page sharing (TPS) para gobernar y distribuir los recursos.
Estrategias esenciales de gestión de la memoria para optimizar la memoria virtual
Los administradores pueden distribuir la memoria y dictar cómo la utilizan las máquinas virtuales con tácticas de optimización. Algunas técnicas comunes de gestión de la memoria son:
Expansión rápida (ballooning) de la memoria
El «ballooning» de memoria permite a un host físico asignar temporalmente la memoria no utilizada de una VM invitada a otra con un controlador «balloon». Un controlador balloon reside dentro de cada VM y bloquea cualquier memoria no utilizada. El controlador balloon se comunica entonces con el hipervisor, que asigna esa memoria a otras máquinas virtuales. Sin embargo, el ballooning de memoria puede introducir problemas de rendimiento si las máquinas virtuales ya no tienen la cantidad de memoria que necesitan.
Asignación dinámica de memoria
La asignación dinámica de memoria permite a los administradores asignar automáticamente la memoria a las máquinas virtuales. Las máquinas virtuales reclaman la cantidad exacta de memoria que necesitan de un conjunto de recursos físicos. A continuación, el hipervisor supervisa y redistribuye la memoria en función de las demandas fluctuantes de la carga de trabajo. Los administradores pueden sobreaprovisionar la memoria con la asignación dinámica, que permite al hipervisor utilizar la paginación o el intercambio. Sin embargo, el sobreaprovisionamiento puede conducir a una memoria física baja y a un rendimiento ineficiente.
Paginación de memoria
La paginación de memoria se produce cuando la memoria de la VM se agota y el hipervisor transfiere temporalmente los datos de la memoria del host a un disco duro o unidad de estado sólido (SSD). Las secciones del disco duro o SSD conocidas como archivos de página sirven como una extensión de la memoria principal. La paginación garantiza que las máquinas virtuales no se queden sin memoria y se bloqueen. Pero la paginación puede perjudicar el rendimiento de la aplicación; utilícela solo cuando no haya otras estrategias de gestión de la memoria.
Intercambio de memoria
Al igual que la paginación, el intercambio permite a los administradores cambiar procesos enteros de la memoria del sistema a un disco de almacenamiento. La paginación es más eficiente porque opera a nivel de página, mientras que el intercambio utiliza múltiples páginas para intercambiar procesos enteros. Como resultado, el hipervisor utiliza el intercambio como último recurso cuando otras estrategias de gestión de memoria no son suficientes.
Sobrecompromiso o sobreasignación de memoria
Los administradores pueden utilizar el sobrecompromiso de memoria como una técnica de gestión y como una condición de funcionamiento. Como técnica, asigna más memoria a las máquinas virtuales que la memoria física total disponible. Como condición operativa, el sobrecompromiso consume activamente más memoria física que la disponible. El sobrecompromiso puede mejorar el uso de la memoria, pero también puede hacer que el hipervisor intercambie archivos con el dispositivo de almacenamiento para reasignar la memoria, lo que puede perjudicar el rendimiento de la máquina virtual.
Replicación de memoria
La duplicación de memoria divide la memoria física de un host en dos canales separados. El host copia uno de los canales en el otro para crear una copia, lo que proporciona tolerancia a fallos.
Compartición transparente de páginas
TPS condensa páginas idénticas en una sola página. Varias máquinas virtuales que ejecutan el mismo sistema operativo suelen tener páginas de memoria idénticas. TPS calcula los valores hash de cada página para verificar qué páginas son idénticas y las consolida en una única página. El TPS ayuda a consolidar la memoria, pero también tarda más en ejecutarse e introduce vulnerabilidades de seguridad como el acceso no autorizado a datos sensibles.
Ventajas y desventajas de las técnicas de tamaño adecuado para la optimización de memoria
El dimensionamiento correcto de las máquinas virtuales permite a los administradores reducir la contención de recursos y mejorar el rendimiento del sistema. Para ajustar el tamaño de las máquinas virtuales, los administradores deben tener en cuenta métricas del sistema como la CPU, la memoria, la E/S y la red.
Los administradores pueden determinar en qué áreas deben realizar ajustes si supervisan las métricas del sistema con el software adecuado. Si los administradores planean hacer crecer sus máquinas virtuales rápidamente, deben equilibrar la memoria para evitar la contención de recursos.
Puede ser un desafío ajustar el tamaño de las máquinas virtuales. Los administradores deben apagar una máquina virtual para reducir los recursos asignados, lo que puede limitar el acceso remoto y provocar tiempos de arranque prolongados. Los administradores deben planificar adecuadamente y programar los esfuerzos de optimización con actualizaciones y parches de software para evitar tiempos de inactividad innecesarios.
Los administradores también corren el riesgo de que los propietarios de las aplicaciones se opongan. Para evitar esto, los administradores deben comunicarse con los propietarios de las aplicaciones sobre los esfuerzos de optimización exactos antes de realizar cualquier cambio.