Linux admite memoria de adición en caliente cuando se ejecuta como un invitado VM, por ejemplo , en VMware . (En ocasiones, debe informar manualmente al sistema operativo invitado ).
¿Existe una forma segura de hacer la operación inversa: reducir la cantidad de memoria asignada a una máquina virtual? De ser así, ¿necesita informar manualmente al huésped Linux antes de dicha operación? (Si es así, ¿el procedimiento es específico para las herramientas de VMware, o es genérico para algún tipo de mecanismo de virtualización?)
fuente
No puedo decir con certeza en vmware, pero cuando uso kvm, disminuir la memoria de una máquina virtual en funcionamiento funciona bien. Por supuesto, hasta un límite, pero el software te lo dirá. Cuando lo disminuye, la memoria en la máquina virtual se reducirá gradualmente, hasta que no se pueda bajar más. Si configura la memoria para que sea inferior a donde se detuvo, deberá reiniciar la máquina virtual para que se baje por completo.
Recientemente hice eso en un sistema que ejecuta kvm con aproximadamente 20 máquinas virtuales, donde alguien pensó que era prudente comprometer la memoria, lo que provocó que algunas máquinas virtuales se ejecuten en intercambio (¡doh!). Para solucionarlo, reduje la memoria en aproximadamente un 20-40% de 2/3 de las máquinas virtuales y la mayoría pudo reducirla completamente mientras se ejecutaba. Algunos necesitaron reiniciar para que la nueva configuración de memoria surta efecto por completo.
A partir de eso, asumiría que una máquina virtual vmware también podría permitir este comportamiento. Sin embargo, una prueba rápida en vmware player me dice que necesitará reiniciar para que surta efecto (el software vmware más sofisticado puede comportarse mejor). De lo contrario, es seguro hacerlo en un sistema en ejecución. Por supuesto, si la cantidad de memoria que le queda es suficiente para ejecutarlo correctamente es otra cuestión.
fuente