
Tengo una máquina host que ejecuta KVM+QEMU y varios invitados. Todos los invitados ejecutan Ubuntu 16.04 (instalación de máquina virtual).
Mi problema actual es que el consumo de memoria del host (a través de htop) supera el 90%. GuestVM1 tiene 1 GB de memoria disponible. Cuando inicio sesión, puedo ver que solo usa alrededor de 50 MB. Corro sysctl -w vm.drop_caches=3
cada hora para mantener los cachés bajos.
Sin embargo, cuando inicio sesión en el host y compruebo cuánta memoria está usando GuestVM1 en el host, htop devuelve VIRT 1480 MB RES 809 MB SHR 1020 MB
.
¿Hay alguna manera de decirle a KVM que use menos memoria (en el host) si el invitado no usa toda la memoria y la asigna dinámicamente cuando es necesario?
Respuesta1
No es necesario eliminar cachés; Linux almacenará en caché tantos datos como se le permita, cuando la presión de la memoria sea demasiado alta, comenzará a descartar páginas que ya no son útiles y escribirá páginas sucias para liberar memoria adicional. La filosofía de Linux es mantener los datos almacenados en caché en caso de que sea necesario acceder a ellos nuevamente más tarde, y si se requiere memoria, descartará estos datos para la memoria que requieren sus procesos.