torutkのブログ

ソフトウェア・エンジニアのブログ

VMware上でLinux時の時刻ずれ(bootパラメータのdivider)

Windows XP上のVMware上でLinuxをゲストOSとして動かしているときに、Linux 2.6系カーネルではタイマー割り込み(tick)が1000Hzになったことに起因して時刻がずれるという現象があります。VMwareが1000Hzのタイマー割り込みを再現できないことが原因のようです。

これについては、いろいろな回避策が模索されていますが、機種・環境によって有効・無効があったり、カーネルの再コンパイルが必要であったりと、なかなかよい解決方法が見出せていません。VMwareの回避情報は以下URL。

そんなときに、以下記事に目が止まりました。カーネルのブートパラメータでdivider=xx と指定するとタイマー割り込み1000HzをXXで割った値に低減する機能とのことです。RHEL 4.7/Fedora 8? 9?/RHEL 5.1では取り入れられているとのことです。
http://jons-thoughts.blogspot.com/2008/04/rhel-and-vmware-time-skew-problems.html

なお、以下URLから入手できるVMwareCentOSイメージでは、タイマー割り込みが100Hzに設定されたカーネル(include/linux/autoconf.hの中でCONFIG_HZが100)が使用されています。
http://www.symbiosoft.net/index.html