日記ブログ、または雑多なメモ
2008年5月5日

VMwareが重い原因





 まともに使えないくらいVMwareがあまりに重いので、多少突っ込んで調べてみたところ、ここのフォーラムで色々と実験、検証されているのを発見。

 いわゆるvmxファイルに、

mainMem.useNamedFile = "FALSE"

 を追記する方法は、別に実メモリを使うように指定するためのオプションというわけでなく、vmemファイルの保存場所を動作ディレクトリから/tmp(linuxホストの場合)に変える、というものらしい。 で、大手ディストリビューションlinux等では/tmpに標準でtmpfsをマウントしているためか、そうなるとつまるところ実メモリを使うようになる、と。
 うちのX31では/tmpにtmpfsは色々と弊害がある(巨大プログラムをビルドするときとか、seamonkeyで巨大ファイルをダウンロードするときとか)のでちょっと前から外していたため、/tmpに保存先が変わっても相変わらずvmemファイルがHDDに保存され重かったというオチであった。

 というわけで、まず/dev/shmにtmpfsをマウント(/dev/shmというのも古くさいが)してから/etc/vmware/config内に、

tmpDirectory="/dev/shm"

 とテンポラリ場所を指定して、vmxファイル内にmainMem.useNamedFile="FALSE"の指定はそのままに、VMwareを起動させてみたところちゃんと実メモリを使うようになった。 ウム、軽い。

 ちなみにVMwareのテンポラリはいったいどこなんだ?等を調べるときに「du」や「ls」をしても使われている痕跡が出ない。 「df」だと出る。 例えば以下のとおり。

$ df -ahT|grep shm
tmpfs        tmpfs    700M  393M  308M  57% /dev/shm
$ du -sh /dev/shm
8.0K    /dev/shm




コメント欄
(投稿なし)

コメントなどありましたらこちらからどうぞ
名前
内容
 ※名前、内容ともに入力必須です
- C'sGallery Blogっぽく見えるシステム3.2 -
小武 (管理人) eta2@tim.hi-ho.ne.jp