読者です 読者をやめる 読者になる 読者になる

KVM にインストールした CentOS-5.5 のタイマー調整

kvm

調子に乗ってゲストをばしばし clone して増やしていたら、気がついたら host の CPU 負荷 (sys) が妙に高い。

host で vmstat を見てみると、cs (context switches) の値が 1 guest 起動するごとに 8000 ぐらい増える。割り込み発生しすぎ、ってことですね。

ググった結果、Red Hat Enterprise Linux 5 仮想化ガイド / 第17章 KVM ゲストのタイミング管理 に対処法が載っていた。

今回は「para-virtualized クロックを持たない 5.4 AMD64/Intel 64」なので /boot/grub/grub.conf の kernel 行に "divider=10 notsc lpj=n" を追加して、

title CentOS (2.6.18-194.32.1.el5)
	root (hd0,0)
	kernel /vmlinuz-2.6.18-194.32.1.el5 ro root=LABEL=/ console=ttyS0,115200n8 divider=10 notsc lpj=n
	initrd /initrd-2.6.18-194.32.1.el5.img

こんなかんじにして reboot.

結果、cs が 1/10 ぐらいになって解決。(割り込み回数を元の 1/10 にしたんだから当然ですが)