[centos-users 1415] Re: 仮想環境について

Akemi Yagi amyagi @ gmail.com
2010年 7月 23日 (金) 10:37:05 JST


矢木です。

2010/7/22 茶碗谷浩由 <chawa @ chawa.jp>:

> 最新のLinuxでは、VMwareについて別の問題もあります。
>
> Linuxではclock tickというタイマ割り込みがあります。
> カーネル2.4のときはタイマ割り込みが1秒間に100回でしたが、
> カーネル2.6になってからは1秒間に1000回となっています。
> VMwareを利用する場合、カーネル2.4の100回のときは大きな問題も
> ありませんでしたが、2.6の1000回になってからは
> VMwareの仮想環境が割り込みを処理しきれず、
> タイマがどんどん遅れるという問題が発生しています。
> 例えばログを取ってても、記録されてる時刻が実際の時刻と比較して
> 何時間もずれてるという現象が起きます。
>
> こうした問題があるため、VMware上でカーネル2.6を走らせる場合は、
> 何らかの対応を考える必要があります。
>
> 一番確実な方法は、カーネルパラメータのtick countを
> 1000から100に変更して、カーネルを再構築することです。
> ソースから全てコンパイルするので非常に時間もかかりますし、
> これはカーネルが更新される度に必要となる作業です。
>
> このようにカーネル2.6はVMwareとの相性が悪いので、
> 今のLinuxについてはVMwareの使用をお勧めできません。
>
> 茶碗谷@もうカーネル再構築はうんざり(-"-)

失望させるようで気の毒ですが...

CentOS は 2007 年頃 100Hz のカーネルを VMware ユーザーの
ために供給し始めました。実は私もそのプロジェクトにかかわっておりました。
詳しい歴史に興味がある方はこちらをどうぞ。

http://bugs.centos.org/view.php?id=2189

その後まもなく Red Hat が新しいカーネルオプションを開発し、

divider=10

を grub に加えるだけでカーネルの frequency を 100Hz にすることが
できるようになりました。

さらに、 CentOS 5.4 以降では、このオプションさえいらなくなりました。
その詳細はこちらです。

http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1006427

(抜粋)
Note on RHEL 5.4 or CentOS and divider=10
For RHEL 5.4 and CentOS 5.4 and later, divider=10 is a supported
kernel configuration option, but is no longer necessary for accurate
timekeeping. Using it reduces the frequency of timer interrupts by
10x, which reduces the CPU overhead of processing timer interrupts.
This overhead is especially noticeable for idle virtual machines.


centos-users メーリングリストの案内