#topicpath
#contents
* 追加で行った設定 [#ec393972]
/etc/vmware/config に書きます。
#pre{{
xkeymap.usekeycodeMapIfXFree86 = true
xkeymap.keycode.211 = 0x073
host.useFastClock = FALSE
host.cpukHz = "3000000"
host.noTSC = "TRUE"
ptsc.noTSC = "TRUE"
}}
この設定の意味を下記にまとめました。
** 日本語キーボードの設定 [#l4b53276]
"_" が入力できなくて困ったときの設定です。
#pre{{
xkeymap.usekeycodeMapIfXFree86 = true
xkeymap.keycode.211 = 0x073
}}
** 時計周り [#l6885378]
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 の割り込み頻度の設定のようなのですが、
次のようにして回避します。
*** host側 [#b758751a]
#pre{{
host.useFastClock = FALSE
}}
** guest側 (CentOS 5.x のとき) [#gb9c3fd5]
grub での boot 時に割り込みについて設定します。
"notsc divider=10" がそうです。
nosmp でわかるように、CPU数は1にしています。
他の場合も VMware が公開している文書が参考になります。
- [[Timekeeping best practices for Linux:http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1006427&sliceId=1&docTypeID=DT_KB_1_1&dialogID=30420052&stateId=0%200%2030418429]]
#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
}}
にチェックを入れます。
&ref(vmware-tools.png);
vmware-tools が入っていれば、vmx ファイルで
#pre{{
tools.syncTime = "TRUE"
}}
と書いても同じです。
*** Windowsゲストの時計が進む [#a1490267]
Windows2000を入れているんですが、どんどん時計が進むことがあります。
/etc/vmware/config で次のように設定して解決しました。
#pre{{
host.cpukHz = "3000000"
host.noTSC = "TRUE"
ptsc.noTSC = "TRUE"
}}
うちでは Core 2 Duo 3GHz なので、cpukHz をそのように設定しています。
* 高速化 [#z34a9a4c]
** メモリの設定 [#za418caa]
仮想ホスト側のメモリはディスクに書き出してしまうようで、
例えば3GB確保するとこのように *.vmem というファイルができてしまいます。
#pre{{
e8400 CentOS 5.3 em1 # ls -lht
合計 34G
-rw------- 1 root root 3.0G 2009-09-26 10:14 564d1a49-805c-62e8-e7c0-c36c7335a2c1.vmem
-rw------- 1 root root 10G 2009-09-26 10:14 CentOS 5.3 em1-0-flat.vmdk
-rw------- 1 root root 20G 2009-09-26 10:14 CentOS 5.3 em1-flat.vmdk
-rw-r--r-- 1 root root 5.7M 2009-09-26 10:14 vmware.log
...
}}
たくさんメモリを確保してもこれでは遅いということで、
書かないようにします。
まず vmx ファイルに次のように書きます。
#pre{{
mainMem.useNamedFile = "FALSE"
}}
後は "Disable memory page trimming" にもチェックを入れておくと速くなるとのことです。
後は Options → Advanced → Settings の "Disable memory page trimming" にもチェックを入れておくと速くなるとのことです。
** ディスクの設定 [#tae67ac6]
&ref(DisableMemoryPageTrimming.png);
- preallocated にした上で、2GB ごとへの分割はしない
- Independent Persistent にする
-
** 他の設定 [#tae67ac6]
他にも仮想マシンの設定をいくつかしています。
- ディスクの設定
-- preallocated にした上で、2GB ごとへの分割はしない
-- Independent Persistent にする
- Snapshotを無効にする
* 参考文献 [#wc507a8e]
- 日本語キーボード
-- [[ [tips] VMwareのゲストで106キーボードだと「_」が入力できない:http://www.deer-n-horse.jp/linux/diary/?date=20060830#p03]]
- 時計
-- [[Timekeeping best practices for Linux:http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1006427&sliceId=1&docTypeID=DT_KB_1_1&dialogID=30420052&stateId=0%200%2030418429]]
-- [[VMware 上の CentOS の時間が遅れる:http://d.hatena.ne.jp/appleappli/20070715/1184483748]]
-- [[VMwareゲストOSの時間を合わせる:http://d.hatena.ne.jp/adsaria/20080120]]
- 高速化
-- [[VMware が頻繁にディスクアクセスして OS 全体が固まる件:http://www.drk7.jp/MT/archives/001215.html]]
-- http://a01.biz/wiki/index.php?VMware
----
#comment