
Ubuntu 10.04 で実行されている KVM 仮想化プラットフォームで、ゲストとして実行されている VM が 2 つあります。1 つの VM は Ubuntu 10.04 システムで、もう 1 つは Windows 7 システムです。両方のマシンが完全にログアウトすると、top によると、Linux マシンは 1% の CPU を使用し、Windows マシンは 45 ~ 50% を使用します。virt-manager のグラフはこれを裏付けているようです。Win7 イメージには、バックグラウンドで実行されるものがインストールされておらず、最新の状態です。
両方ともログアウトしてアイドル状態なのに、Windows VM の使用量の方が Linux VM の使用量よりもはるかに多いのはなぜですか?
編集:
最初から準仮想化ストレージおよびネットワーク ドライバーを使用してゲストをインストールしました。他に不足しているドライバーはないと思いますが、間違っていますか?
ゲストのタスク マネージャーによると、確かにアイドル状態です。Taskman はゲスト CPU の約 1 ~ 2 % を占有しますが、CPU 時間を占有している他のプロセスはありません。
答え1
実行している QEMU-KVM のバージョンは何ですか?
この問題はバージョン 0.12.3 以前で発生していますが、バージョン 0.12.4 ではそれほど大きな問題にはならないようです。また、スクリーンセーバーが実行中かどうかを確認してください。VNC 接続を使用している場合は、そこで実行されている可能性があり、CPU 使用率は VM 内ではなく、KVM プロセスによって消費されます。
答え2
私の答えは100年後に出てくることは分かっていますが、今後の参考のためにここを参照してください。
http://forum.proxmox.com/threads/5770-Windows-guest-high-context-switch-rate-when-idle
もしそうなら、解決策は次のとおりです: http://support.microsoft.com/kb/895980
x86_64 kvm ホスト上の Win2K3 R2 ゲスト CPU 使用率 (ゲストがアイドル状態のとき) が約 30%-40% から 6% に低下しました。
答え3
KVM については全く知りませんが、VMware では、仮想マシンに VMware ツールをインストールしないと、仮想化されたハードウェア用の適切なデバイス ドライバーが存在せず、実際に何もしていないときに仮想 CPU を実際のアイドル状態にすることができず、代わりに単純なアイドル ループ (実際には CPU が完全にビジー ループしている状態) を使用するため、この問題が発生する可能性があります。
VM にインストールする必要がある VMware ツールに似たものがあるでしょうか?
答え4
まず、Windows と Linux を比較したり、同じように動作することを期待したりするのはやめましょう。それらは異なります。
Windowsは一度もないアイドル状態です。多くのバックグラウンド タスクが実行され、Win 7 での私の短い経験からすると、XP よりも多くのタスクが実行されます。負荷を軽減するのに役立つ方法の 1 つは、インデックス サービスなどの必要なサービスをシャットダウンすることです。