2016/5/30 時点情報
CentOS6 の KVM 仮想化環境において、ゲスト無負荷時でもKVMプロセス(qemu-kvm)のCPU利用率が比較的高くなる問題と対応方法。
症状
ゲストが無負荷状態にもかかわらず、ホスト上の qemu-kvm プロセスが常時 10〜20% 程度のCPU利用率(topコマンド %CPU)になる
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 15531 qemu 20 0 4841m 496m 5252 S 14.3 6.5 0:32.62 qemu-kvm (未対応ゲスト:CentOS) 1345 root 10 -10 336m 48m 7460 S 0.7 0.6 0:31.07 ovs-vswitchd 2618 qemu 20 0 4291m 310m 5260 S 0.7 4.1 1:20.43 qemu-kvm 19 root 20 0 0 0 0 S 0.3 0.0 0:00.83 events/0 1827 root 20 0 0 0 0 S 0.3 0.0 0:04.77 kondemand/2
対応後
ゲストが無負荷状態で、ホスト上の qemu-kvm プロセスCPU利用率 1〜4% に落ち着く
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 2693 qemu 20 0 4478m 874m 5252 S 4.3 11.4 4:24.19 qemu-kvm (対応済みゲスト:CentOS) 1345 root 10 -10 336m 48m 7460 S 0.7 0.6 0:30.14 ovs-vswitchd 502 root 20 0 0 0 0 S 0.3 0.0 0:00.02 kdmflush 1826 root 20 0 0 0 0 S 0.3 0.0 0:02.03 kondemand/1
対処法
各ゲスト定義 XML (libvirt Domain XML) から
<input type='tablet' bus='usb'/>
の行を削除して、ゲストシャットダウン→再度起動
$ sudo virsh edit <guest> $ sudo virsh shutdown <guest> $ sudo virsh start <guest>
参考
見つけた情報ではWindowsゲスト時になっているけれど、ゲストが Linux でも同症状は出る模様
.log : KVM上のゲストWindowsがホストLinux上でCPU利用率を消費する
Bug 949547 – qemu-kvm process consumes 8% cpu even when windows guest is idle inside and 70% when guest uses 10% cpu inside
USB デバイスの polling が負荷の要因?
qemu and usb-tablet cpu consumtion | kraxel's news
<input type='tablet' bus='usb'/>
が無いと、 VNC で接続した場合に、マウスカーソルがずれる恐れアリ。とも。
linux/kvm – Yuna's Technical Guide