Tenho três convidados do Windows XP em execução em um sistema Ubuntu 10.04 de 64 bits recentemente atualizado. Ocasionalmente (na ordem de uma vez a cada poucos dias), um dos convidados deixará de responder e o processo kvm no host que está executando esse convidado começará a consumir 100% da CPU. Ele continuará fazendo isso até ser morto. Quando reiniciado, tudo ficará bem por um tempo e então o problema se repetirá.
A linha de comando kvm usada para executar todos os três convidados é esta:
/usr/bin/kvm -S -M pc-0.12 -enable-kvm -m 1024 -smp 1 -name bigdog21vmxp1 \
-uuid ea47ff84-125b-16f7-9a4d-a6d0d8bab46a \
-chardev socket,id=monitor,path=/var/lib/libvirt/qemu/bigdog21vmxp1.monitor,server,nowait \
-monitor chardev:monitor \
-localtime \
-boot c \
-drive file=/var/lib/libvirt/images/windowsxp-1.qcow2,if=ide,index=0,boot=on,format=qcow2 \
-net nic,macaddr=54:52:00:02:06:0e,vlan=0,name=nic.0 \
-net tap,fd=58,vlan=0,name=tap.0 \
-chardev pty,id=serial0 \
-serial chardev:serial0 \
-parallel none \
-usb \
-usbdevice tablet \
-vnc 127.0.0.1:1 \
-k en-us \
-vga cirrus \
-soundhw es1370
Por que os sistemas às vezes se comportam mal dessa maneira? E que configuração posso alterar para consertar? Ou, se o problema for devido a um bug no kvm, qual é o processo para isolar uma falha do kvm para que os desenvolvedores tenham a chance de corrigi-la?
Responder1
A melhor maneira de depurar isso é remover todos os argumentos, exceto os necessários, e adicionar os argumentos removidos até que ele quebre novamente. Essa foi a única maneira de encontrar meu problema da última vez (no uec 10.10).
Responder2
Quais são as chances de o problema ocorrer sempre que o convidado do Windows tentar reiniciar (por exemplo, após uma atualização automática)? Sempre tive comportamento de congelamento ao reiniciar de convidados do Windows em libvirt+kvm no Ubuntu Jaunty; agora que meu host está rodando o Debian Squeeze, isso não acontece mais.