YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

VMware Serverで仮想マシンに3.6GBしか割り当てられない

動機

Linux上で稼働しているVMware Server上の仮想マシンに6GBのメモリを割り当てようとしたら無理だったので原因を調べた。
f:id:ymotongpoo:20090708210134p:image

原因

VMware Server 1.0.xの仕様だった。

仮想メモリ

  • 仮想マシン1 台につき最大3600MB(ホストのシステム構成、ホストで使用されているアプリケーションの種類、ホストのメモリサイズによって異なります)

考察

上記以外の理由でもホストOSのulimitも確認すべき。

オプション 内容
-a 設定されている各種の制限を表示する
-c プロセスがファイルへコア・ダンプする容量を最大Nブロックに制限する
-d プロセスのデータ領域のサイズを最大Nキロ・バイトに制限する
-f 出力ファイルのサイズを最大Nブロックに制限する
-l メモリーにロックできるサイズを最大Nキロ・バイトに制限する
-m メモリーの使用量を最大Nキロ・バイトに制限する
-n ファイル・ディスクリプタの数を最大N個に制限する
-p パイプのサイズを最大N×512バイトに制限する
-s スタック・サイズを最大Nキロ・バイトに制限する
-t CPU時間を最大N秒に制限する
-u ユーザー1人が起動できるプロセス数を最大N個に制限する
-v シェルが利用できる仮想メモリーを最大Nキロ・バイトに制限する
-H いったん設定した制限を解除できなくする
-S -Hで制限した最大値以内の値を設定する
-t コマンドの型を表示する

今回問題になってくるのは-d/-mオプション。この辺がunlimitedとかになってないときは注意。

解決策

VMware Serverのアップグレード

VMware Server 2.xにする。

拡張性に優れた仮想マシン仮想マシン 1 台につき最大 8 GB の RAM および最大 10 枚の仮想ネットワーク インターフェイス カードをサポートするほか、USB 2.0 デバイスからのデータ転送速度の向上、実行中の仮想マシンへの新しい SCSI ハード ディスクおよびコントローラの追加が可能。

仮想マシンのアップグレード (2009.07.09追記)

VMware Server 2.0にアップグレードしただけではメモリの割り当てが変更できず、はておかしいなとちゃんと調べてみたらUser's Guideに載ってた。仮想マシン自体もUpgradeしないとダメみたい。

Upgrading the Virtual Machine Version
If you created virtual machines with an earlier version of VMware Server or another
VMware product, you can upgrade the virtual machine version so that you can take
advantage of new VMware Server 2 features, such as increased maximum memory per
virtual machine.

追記

なおWindows XP 32bitでは有名な話で4GBの物理メモリを搭載しても大体3GBくらいしか認識してくれませんし、プロセス自体も2GBまでしか利用できないので結構厳しいですね。