/etc/vmware/config に書きます。
#pre{{ xkeymap.usekeycodeMapIfXFree86 = true xkeymap.keycode.211 = 0x073 host.useFastClock = FALSE host.cpukHz = "3000000" host.noTSC = "TRUE" ptsc.noTSC = "TRUE" }}
この設定の意味を下記にまとめました。
"_" が入力できなくて困ったときの設定です。
#pre{{ xkeymap.usekeycodeMapIfXFree86 = true xkeymap.keycode.211 = 0x073 }}
guest OS を動かしていると、guest 側の時計が狂った上に host 側に次のようなログが頻発してしまう場合があります。
#pre{{ May 1 16:45:05 e8400 [8436]: host clock rate change request 1043 -> 83 May 1 16:45:12 e8400 [8529]: host clock rate change request 83 -> 1001 May 1 16:45:13 e8400 [8529]: host clock rate change request 1001 -> 2001 May 1 16:45:13 e8400 [8529]: /dev/rtc enable interrupt failed: -25 May 1 16:45:27 e8400 [8529]: host clock rate change request 1001 -> 2002 May 1 16:45:27 e8400 [8529]: /dev/rtc enable interrupt failed: -25 May 1 16:45:37 e8400 [8529]: host clock rate change request 1001 -> 2001 May 1 16:45:37 e8400 [8529]: /dev/rtc enable interrupt failed: -25 }}
こんなログのときもあります。
#pre{{ Apr 24 23:05:01 e8400 printk: 249 messages suppressed. Apr 24 23:05:01 e8400 rtc: lost some interrupts at 2048Hz. Apr 24 23:05:06 e8400 printk: 249 messages suppressed. Apr 24 23:05:06 e8400 rtc: lost some interrupts at 2048Hz. }}
kernel の割り込み頻度の設定のようなのですが、 次のようにして回避します。
#pre{{ host.useFastClock = FALSE }}
grub での boot 時に割り込みについて設定します。 "notsc divider=10" がそうです。 nosmp でわかるように、CPU数は1にしています。
他の場合も VMware が公開している文書が参考になります。
#pre{{ title CentOS (2.6.9-67.0.7.EL)
root (hd0,0) kernel /vmlinuz-2.6.9-67.0.7.EL ro root=/dev/VolGroup00/LogVol00 rhgb quiet notsc divider=10 initrd /initrd-2.6.9-67.0.7.EL.img
}}
時計合わせは vmware-tools を入れて vmware-toolbox を起動し、
#pre{{ Time synchronization between the virtual machine and the host operating system }}
にチェックを入れます。
vmware-tools が入っていれば、vmx ファイルで
#pre{{ tools.syncTime = "TRUE" }}
と書いても同じです。
Windows2000を入れているんですが、どんどん時計が進むことがあります。 /etc/vmware/config で次のように設定して解決しました。
#pre{{ host.cpukHz = "3000000" host.noTSC = "TRUE" ptsc.noTSC = "TRUE" }}
うちでは Core 2 Duo 3GHz なので、cpukHz をそのように設定しています。
仮想ホスト側のメモリはディスクに書き出してしまうようで、 例えば3GB確保するとこのように *.vmem というファイルができてしまいます。
#pre{{ e8400 CentOS 5.3 em1 # ls -lht 合計 34G
たくさんメモリを確保してもこれでは遅いということで、 書かないようにします。
まず vmx ファイルに次のように書きます。
#pre{{ mainMem.useNamedFile = "FALSE" }}
後は Options → Advanced → Settings の "Disable memory page trimming" にもチェックを入れておくと速くなるとのことです。
他にも仮想マシンの設定をいくつかしています。