Anfitrión e invitado de gestión de memoria Libvirt

Anfitrión e invitado de gestión de memoria Libvirt

He configurado dos sistemas invitados en una caja de ubuntu dedicada a ser un host de VM. Tiene dos CPU físicas (con 6 núcleos cada una), 16 GB de RAM y 3 discos duros. El sistema operativo host está en un SSD de 60 GB, mientras que los sistemas operativos invitados están en su disco duro separado dividido en dos particiones. La primera partición contiene un archivo de imagen qcow sin formato para el sistema operativo invitado, y la segunda partición se asigna como dispositivo de bloque al invitado. (para "programas" y "datos") Tengo habilitada la ampliación de memoria en el invitado de Linux, pero no en Windows.

Tuve mi primera experiencia de falta de memoria ayer, así que decidí observar el uso de memoria de los invitados en tiempo real en mi propia computadora. Así que tengo dos htops ejecutándose en dos ventanas de PuTTY, como se puede ver en la imagen adjunta. Encima de la imagen está el anfitrión, abajo está uno de los invitados (el Linux). Hay un par de cosas que no entiendo:

  • en el host, la columna RES dice 5778M para el primer invitado y 4274M para el otro, lo que para mí anuncia hasta ~10G, pero la línea Mem en la parte superior de la imagen dice 6.9G, lo cual es extraño; además, el cliente htop en la parte inferior. dice que hay 560M de memoria en uso. (560 millones! = 5778 millones)

He leído los documentos de Redhat sobre virtualización, y dicen que debo calcular la cantidad de RAM necesaria para el invitado sumando la memoria asignada al invitado + RAM de video + "algunos" gastos generales (que no se pueden determinar exactamente). los números anteriores: 560M están en uso por el invitado + 16M de memoria de video son ~580M, entonces, ¿la sobrecarga "alguna" en mi caso es 5.2G?

El 5778M no es la memoria total que el invitado de Linux puede usar, 8G está configurado en el archivo xml del dominio, por lo que no me siento frustrado. Todavía.

Cuando reinicié el invitado de Linux esta mañana, comenzó con un uso de ~2G de RAM en el host y ha ido aumentando desde entonces. El sistema operativo invitado comenzó con ~450M y llegó a 560M.

Incluso leí que asignar un archivo de intercambio al host puede ayudar con problemas de falta de memoria, por lo que creé un archivo de intercambio de 32G y configuré el intercambio en 20 en sysctl en el host.

Pero todavía no entiendo el uso/asignación de memoria/lo que sea entre el invitado y el anfitrión.

¿Podría alguien con más experiencia en este campo indicarme la dirección correcta/tutorial/wikipedia/lo que sea que se pueda leer? qemu anfitrión invitado htops

información relacionada