Entre los ficheros que conforman una VM, nos encontramos los fichero de "Virtual swap", ficheros de extensión vswp.
Estos ficheros, por defecto se crean al iniciar la VM y se mantienen hasta que no detenemos la VM.
A partir de la versión 5 de ESXi, existen dos ficheros vswp:
1) El primer fichero tiene el tamaño de la RAM asignada a la VM, menos la reserva de memoria configurada, por defecto "0". (Todas las versiones). AZUL
2) El segundo fichero corresponde al swap de VMX, es decir, swap de dispositivos virtuales. El tamaño de este fichero puede oscilar entre 64MB y 256MB. Su tamaño dependerá del número de vCPUs, RAM asignada, etc.. (ESXi5-HWversion de VM:7 o superior). ROJO
Como podemos ver, una VM con 32GB de RAM asignada, por defecto, encontraremos un fichero de vswp de 32GB en la carpeta donde este situada la VM.
El fichero de vswp no se utiliza a menos que no hagamos sobreprovisionado de RAM en los hosts ESXi y empiecen las técnicas de reclamación de memoria.
Una de las técnicas de reclamación de memoria RAM es el uso del fichero vswp.
Si tenemos problemas de espacio en el datastore y no podemos mover las VMs en otra ubicación, una solución temporal puede ser: Desactivar la creación del fichero de vswp de todas las VMs.
Imaginemos que tenemos las siguientes VMs en un host VMWare ESXi con 128GB de RAM:
VM1 : 16GB RAM
VM2 : 8GB RAM
VM3 : 8GB RAM
VM4 : 12GB RAM
VM5 : 8GB RAM
VM6 : 32GB RAM
Total: 84GB
En este caso, por defecto, tenemos ficheros de vswp que sumados ocupan 84GB, además, sabemos que estos ficheros no se utilizan ya que el host VMWare ESXi tiene RAM de sobras.
Veamos como desactivar el fichero de vswap de una VM:
Será necesario que las VMs, dispongan de hardware version 8 o superior.
Vía VSphere Client:
Seleccionamos la VM > "Edit Settings" > Pestaña "Resources" > Marcamos la opción: "Reserve all guest memory (All locked)"
Vía VSphere Web Client:
Seleccionamos la VM > "Edit virtual machine settings" > En el apartado de memoria, marcamos la opción: "Reserve all guest memory (All locked)"
Al encender la VM, veremos como el fichero de vswp está a cero.
El tamaño de fichero de vswp se calcula de la siguiente forma:
*** RAM asignada en la VM menos RAM reservada ***
Por defecto el valor de la reserva es 0, por lo tanto, el tamaño del fichero de vswp corresponde al tamaño de la RAM.
Si configuramos una reserva con el valor del tamaño de la RAM, por ejemplo, utilizando la opción: "Reserve all guest memory (All locked)", al realizar la resta dará cero, por lo tanto, el tamaño del fichero de vswp será cero.
Para acabar de entender como funciona, veamos el siguiente ejemplo:
RAM de la VM: 1.500 MB
Reserva de RAM: 200 MB
Tamaño del fichero vswp: 1.500MB - 200MB = 1.300MB
Muchas gracias por aclararnos
ResponderEliminar¡Gracias a ti por su comentario!
EliminarUn saludo,
Xavi.