16.3.2. Añadir y eliminar la memoria de la máquina virtual mediante la interfaz de línea de comandos
Para mejorar el rendimiento de una máquina virtual (VM) o para liberar los recursos del host que está utilizando, puede utilizar la CLI para ajustar la cantidad de memoria asignada a la VM.
Requisitos previos
El sistema operativo invitado está ejecutando los controladores del globo de memoria. Para verificar que este es el caso:
Asegúrese de que la configuración de la máquina virtual incluye el dispositivo
memballoon
:# virsh dumpxml testguest | grep memballoon <memballoon model='virtio'> </memballoon>
Si este comando muestra alguna salida y el modelo no está configurado en
none
, el dispositivomemballoon
está presente.Asegúrese de que los controladores de balones se ejecutan en el sistema operativo invitado.
- En los huéspedes de Windows, los controladores se instalan como parte del paquete de controladores virtio-win. Para obtener instrucciones, consulte Sección 17.2.1, “Instalación de controladores paravirtuales KVM para máquinas virtuales Windows”.
-
En los huéspedes de Linux, los controladores suelen estar incluidos por defecto y se activan cuando el dispositivo
memballoon
está presente.
Procedimiento
Optional: Obtenga la información sobre la memoria máxima y la memoria actualmente utilizada para una VM. Esto servirá como línea de base para sus cambios, y también para la verificación.
# virsh dominfo testguest Max memory: 2097152 KiB Used memory: 2097152 KiB
Ajuste la memoria máxima asignada a una VM. Aumentar este valor mejora el potencial de rendimiento de la VM, y reducir el valor disminuye la huella de rendimiento que la VM tiene en su host. Tenga en cuenta que este cambio sólo puede realizarse en una VM apagada, por lo que ajustar una VM en funcionamiento requiere un reinicio para que tenga efecto.
Por ejemplo, para cambiar la memoria máxima que la VM testguest puede utilizar a 4096 MiB:
# virt-xml testguest --edit --memory memory=4096,currentMemory=4096 Domain 'testguest' defined successfully. Changes will take effect after the domain is fully powered off.
Optional: También puede ajustar la memoria utilizada actualmente por la VM, hasta la asignación máxima. Esto regula la carga de memoria que la VM tiene en el host hasta el próximo reinicio, sin cambiar la asignación máxima de la VM.
# virsh setmem testguest --current 2048
Verificación
Confirme que la memoria utilizada por la VM ha sido actualizada:
# virsh dominfo testguest Max memory: 4194304 KiB Used memory: 2097152 KiB
Optional: Si ha ajustado la memoria actual de la VM, puede obtener las estadísticas del globo de memoria de la VM para evaluar la eficacia con la que regula el uso de la memoria.
# virsh domstats --balloon testguest Domain: 'testguest' balloon.current=365624 balloon.maximum=4194304 balloon.swap_in=0 balloon.swap_out=0 balloon.major_fault=306 balloon.minor_fault=156117 balloon.unused=3834448 balloon.available=4035008 balloon.usable=3746340 balloon.last-update=1587971682 balloon.disk_caches=75444 balloon.hugetlb_pgalloc=0 balloon.hugetlb_pgfail=0 balloon.rss=1005456
Recursos adicionales
- Para obtener instrucciones para ajustar la configuración de la memoria de la VM mediante la consola web, consulte Sección 16.3.1, “Añadir y eliminar la memoria de la máquina virtual mediante la consola web”.
- Para optimizar la forma en que la VM utiliza la memoria asignada, puede modificar su configuración de vCPU. Para más información, consulte Sección 16.5, “Optimización del rendimiento de la CPU de la máquina virtual”.