
最近アップグレードした 64 ビット Ubuntu 10.04 システムで、3 つの Windows XP ゲストを実行しています。ときどき (数日に 1 回程度)、ゲストの 1 つが応答しなくなり、そのゲストを実行しているホスト上の kvm プロセスが CPU を 100% 消費し始めます。この状態は、強制終了されるまで続きます。再起動すると、しばらくは正常になりますが、その後、問題が繰り返されます。
3 つのゲストすべてを実行するために使用される kvm コマンド ラインは次のとおりです。
/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
なぜシステムが時々このように誤動作するのでしょうか? また、これを修正するにはどのような設定を変更すればよいのでしょうか? あるいは、問題が kvm のバグによるものである場合、開発者が修正できるように kvm の障害を分離するプロセスは何でしょうか?
答え1
これをデバッグする最善の方法は、必要な引数以外をすべて削除し、削除した引数を再びエラーが発生するまで追加することです。これが前回 (uec 10.10) に問題を見つけることができた唯一の方法です。
答え2
Windows ゲストが再起動しようとするたびに (自動更新後など)、この問題が発生する可能性はどれくらいですか? Ubuntu Jaunty の libvirt+kvm では、Windows ゲストで再起動時にフリーズする動作が常に発生していましたが、ホストで Debian Squeeze を実行しているため、この問題は発生しなくなりました。