¿VMX swap?

Que tal gente, antes que nada quiero comentarles que he estado bastante ocupado y me enfermé por lo cual no he podido escribir en el blog pero el día de hoy mientras comia estaba leyendo la guía de mejores practicas de performance para vSphere 5.0 la cual pueden encontrar en la siguiente liga:

Performance best practices for VMware vSphere 5.0

Y me encontré con algo muy interesante lo cual creí que debía compartir con ustedes, con esta nueva versión se agrega un nuevo archivo de swap para nuestras VMs pensado especificamente para la memoria que se tiene de overhead. Recordemos que es el “overhead” en la virtualización…

¿Que es el overhead?

El overhead de memoria que se tiene en las plataformas de virtualización es la cantidad de memoria que el hipervisor requiere para poder tener el proceso de la máquina virtual ejecutandose. Haciendo referencia al whitepaper de “Resource Management Guide” en la página 31 tenemos lo siguiente:

The extra space needed by the ESXi host for its own code and data structures,beyond the memory allocated to each virtual machine.

Por lo que podemos ver se requiere cierta cantidad de memoria extra de la asignada a la máquina virtual para poder tener toda la estructura de datos y los distintos procesos de la VM en el hipervisor (VMM, manejo de CPU, TLB, proceso de VMX, etc) ejecutandose en el hipervisor. La cantidad de overhead va a estar totalmente relacionada con la cantidad de CPUs, RAM asignada a la VM, cantidad de memoria de video, aceleración 3d (vSphere 5.0), etc. Aquí podemos ver una imagen de este overhead:


En este caso al hipervisor le cuesta 69.12 MB virtualizar dicha máquina virtual…

Con el release de vSphere 5.0 se agregó un swap extra a nuestra VM, esto pensando en momentos en los cuales los recursos de memoria son escasos, en el paper de Performance Best Practices podemos encontrar lo siguiente:

… a new feature in ESXi 5.0, called VMX swap, can reduce the VMX memory reservation from about 50MB or more per virtual machine to about 10MB per virtual machine, allowing the remainder to be swapped out when host memory is overcommitted. This represents a significant reduction in the overhead memory reserved for each virtual machine.

Como podemos ver, en el momento de iniciar nuestras VMs se crearán dos archivos de swap (.vswp) el tradicional que es igual a la memoria configurada para dicha máquina virtual (en el caso de contar con reservaciones) esto pensando en poder siempre garantizar la memoria aun cuando esta sea en disco y el segundo pensado para poder realizar un swap de memoria de overhead a disco en el caso que se tenga escacez de recursos, lo podemos ver con claridad en la siguiente imagen:

Como podemos notar tenemos dos archivos de swap, uno que comienza con “vmx-” este es el swap de VMX que le permitirá al hipervisor poder hacer swap de memoria de overhead a disco.

Esta funcionalidad esta habilitada por defecto pero la podemos deshabilitar con la siguiente línea en nuestro archivo .vmx:

sched.swap.vmxSwapEnabled  = “FALSE”

Algo que debe de quedar claro es que este mecanismo no esta relacionado con el swap a nivel de hipervisor o la nueva funcionalidad que se conoce como “host cache” (la cual estaremos tocando en post futuro).

 

 

Leave a Reply