なーお さんの日記
先週末に移行したサーバーのチューニングを行ってみました。
VMwar-Server2の設定が主です。 ググりまくりでした。
1、仮想OS設定変更の内容
(1)優先度を上げる
サーバー用途ですので、お約束のようにアクティブ状態の如何に関わらず優先度は上げておきます。 「.vmxファイルに、次の2行を記述」
priority.grabbed = high priority.ungrabbed = high
(2)メモリをファイルシステムに退避しない
これも情報は多くあるのですが、実は落とし穴が。
「.vmxファイルに、次の1行を記述」
MemTrimRate = "0" mainMem.useNamedFile = "FALSE"
どうやらLinuxの場合は、これでも不十分なようです。 /tmpフォルダ内に見えないファイルを作ってなにやら書いているみたい。
- 参考: Wizard Bible vol.43 (2008,10,6) 第一章
対策として、/tmpフォルダそのものを仮想DISKにマウントしてしまおう、という荒業があるようで、実践してみました。
/etc/fstab を編集し、(/tmpディレクトリの記載が無いのを確認のうえ)以下の行を追記します。
# for VMware tmpfs /tmp tmpfs defaults,size=512m 0 0
「512」の部分は、実メモリから確保するメモリ量になります。 仮想OSのメモリ設定値よりも十分に大きくないと、仮想OSの起動時エラーで起動できなくなります。
私の場合は実メモリ4GBあるので、ここは「1024」としました。これでもまだ少ないと思うので、メモリを増やすかな。。今安いし。
- 参考: cc-env - VMware の設定
なお、この変更により、メモリ割当量は以下のようにしました。
実メモリ | 4GB |
仮想ホスト設定 | 2560MB |
仮想OS設定 | 1024MB |
2、その他
今更ながら、ゲストOS(Vine)、ホストOS(ubuntu)とも、グラフィカルログイン → テキストログインに変更しました。
Vineの場合
/etc/inittabの編集
id:5:initdefault: ↓ id:3:initdefault:
ubuntuの場合
ubuntuには、なんと/etc/inittab が存在しませんでした。
ググってみると、/etc/event.d/rc-default を編集すれば良いらしい。 その中に2箇所ある、「telinit」を編集。
ところで、ubuntuのランレベルは、Redhat系のと激しく考え方が違う。 デフォのグラフィカルログインでは、ランレベル「2」。 これを「3」に書き換えた。
なお、各ランレベルでの動作設定は、コンソールからsysv-rc-confコマンドで可能。
- 参考:うるめねっと技研 - Ubuntu Edgyでランレベルを設定する方法
以上の変更で、きびきび感が出ました。 ただ、少しアクセスしないと次の最初は若干「もっさり」しています。 まだメモリ退避しているのかもしれませんね。。
コメント一覧
VMware-server2.0のチューニングの件。
仮想ゲストOSに新しいVMware-toolsをインストールすれば高速化されるとのことでしたので、やってみました。 もうずうっと以前に1.0.0のtoolsを入れて以来のバージョンアップです。
ツールを入れると、
- 時刻をホストOSに同期
- マウスをホストOSとシームレスに使える
- 画面解像度を選択変更できる
- HGFSフォルダ共有
- VMNETネットワーク高速化
- GuestMemoryManager
その他、諸々
インストールが終わったら、以下のコマンドでVMNETネットワーク高速化を有効に。
/etc/init.d/network stop rmmod pcnet32 rmmod vmxnet modprobe vmxnet /etc/init.d/network start
このうち、フォルダ共有は動きませんでした。 速度のほうは、確かに早くなった気がします。 最新のVMware-toolsをお試しあれ。