Gestión de memoria en un ESX: La compresión
Hola amigos, soy Florián Murillo. Os voy a confesar que es lo que mas me gusta de VMware, que todavía está en un estado de efervescencia creativa y aporta, como vimos la semana pasada en mi post “La historia de Elastic Sky X” que las innovaciones la hacen diferente a otros.
En vSphere 4.1 apareció una novedad que ha pasado desapercibida para muchos, es la compresión de memoria RAM como paso previo a pasar páginas de memoria a fichero swap, me refiero al archivo .vswp. La velocidad la que se descomprime una página de memoria es muy superior a la velocidad de acceso a disco para recuperar dicha página, por tanto añade una menor latencia a las aplicaciones, es decir mejor rendimiento en situaciones de escasez de memoria.
¿Esta activada la compresión en nuestro ESX?
La compresión viene activada por defecto, verifícalo, el valor de HOST\Configuration\Advanced Settings\Mem\Mem.MemZipEnable = 1
¿Que cantidad de memoria se comprime?
Un 10% por defecto, compruébalo en HOST\Configuration\Advanced Settings\Mem\Mem.MemZipMaxPct = 10
El mecanismo se explica fácilmente, cuando se sobrecarga la memoria del host (menos del 2% de memoria disponible), comprimimos páginas de memoria de 4Kb de la VM con gzip en la cache de compresión de la VM, ocupando páginas de memoria de 2Kb o menos. Con esto ayudamos al host a:
1. Obtener memoria en momentos de escasez, mitigando mejor el impacto de la escasez de memoria que en versiones anteriores.
2. Mantener bajas latencias en las aplicaciones, por no llevar a disco las páginas de memoria.
En la imagen siguiente se aprecia la diferencia:
Vemos, en la imagen anterior como se libera una página de 4Kb mediante la compresión de las páginas A y B, sin pasar a disco.
¿Estp ocurre siempre? No, este proceso ocurre cuando la memoria disponible está por debajo del umbral (“hard memory state”) es decir el 2% de la memoria libre del kernel.
¿Que diferencia de rendimiento existe entre comprimir y enviar a disco? Como vemos en la imagen siguiente:
La caída de rendimiento producida por enviar páginas de memoria a disco (línea verde) es mitigada (mayor rendimiento) por las páginas comprimidas (línea morada).
Vemos también que cuanta menos memoria mas fácilmente tenemos problemas de rendimiento, esto ya lo habíamos supuesto nosotros sólitos ¿verdad? ;-)
Es una gran mejora, teniendo en cuenta que la memoria es, el la mayoría de los casos, el dolor de cabeza diario de quien tiene que gestionar recursos permanentemente.
¿Creéis que VMware podrá mantener esta diferencia competitiva con innovación frente a grandes adversarios durante mucho tiempo?Yo, la verdad, espero que sí, ya que nos beneficiamos todos ;-)
¿Crees que este artículo puede interesar a alguien a quien conoces? Compártelo clicando los botones de Twitter y Facebook de abajo o arriba. Gracias.