¿Por qué la máquina virtual de Windows inactiva utiliza tanta CPU?

¿Por qué la máquina virtual de Windows inactiva utiliza tanta CPU?

Tengo 2 máquinas virtuales ejecutándose como invitadas en una plataforma de virtualización KVM que se ejecuta en Ubuntu 10.04. Una máquina virtual es un sistema Ubuntu 10.04 y la otra es un sistema Windows 7. Cuando ambas máquinas están completamente desconectadas, la máquina Linux usa un 1% de CPU, la de Windows un 45-50%, según top. Los gráficos en virt-manager parecen respaldar esto. No hay nada instalado en la imagen de Win7 que se ejecute en segundo plano; Es lo más fresco posible.

¿Por qué la máquina virtual de Windows utiliza mucho más que la máquina virtual de Linux, cuando ambas están desconectadas y inactivas?

Editar:

Instalé el invitado con almacenamiento paravirt y controladores de red desde el principio. No creo que me falten otros controladores, ¿me equivoco?

Según el administrador de tareas del huésped, efectivamente está inactivo. Taskman ocupa aproximadamente el 1 o el 2 % de la CPU invitada, pero no hay otros procesos que consuman tiempo de CPU.

Respuesta1

¿Qué versión de QEMU-KVM estás ejecutando?

Hemos visto este problema en las versiones 0.12.3 y anteriores, pero no parece ser un gran problema en la 0.12.4. Además, verifique si los protectores de pantalla se están ejecutando. Si está utilizando la conexión VNC, es posible que se esté ejecutando allí y la utilización de la CPU no estará dentro de la VM, sino que será utilizada por el proceso KVM.

Respuesta2

Sé que mi respuesta llega después de 100 años, pero: para referencia futura, consulte aquí:

http://forum.proxmox.com/threads/5770-Windows-guest-high-context-switch-rate-when-idle

Si ese es el caso, aquí está la solución: http://support.microsoft.com/kb/895980

Redujo el uso de mi CPU invitada Win2K3 R2 (cuando el invitado estaba inactivo) en mi host kvm x86_64 de ~30%-40% a 6%

Respuesta3

No sé nada sobre KVM, pero en VMware esto puede suceder si no instala las herramientas de VMware en la máquina virtual, por lo que no tiene los controladores de dispositivo adecuados para el hardware virtualizado y no puede instalar su CPU virtual está realmente inactiva cuando en realidad no está haciendo nada, utilizando en su lugar un bucle inactivo simple (que en realidad corresponde a que la CPU esté completamente ocupada realizando un bucle sobre sí misma).

¿Quizás haya algo similar a las herramientas de VMware que deberías instalar en tu VM?

Respuesta4

Lo primero es dejar de comparar Windows y Linux o esperar que se comporten igual. Ellos son diferentes.

Windows esnuncainactivo. Ejecuta muchas tareas en segundo plano y, según mi breve experiencia con Win 7, hace más de eso que, por ejemplo, XP. Una cosa que ayudará a aliviar la carga es comenzar a cerrar los servicios necesarios, como el servicio de indexación.

información relacionada