VirtualBoxは、仮想マシンを起動させるとコンソールが起動して仮想マシンの画面が表示されます。
しかし以下の様な場合はコンソール画面が不要になります。
- VirtualBoxをあるマシンで動かしてリモートでその仮想マシンにアクセスする場合、必ずしもそのコンソール画面が必要ではない
- LinuxやSolarisをホストOSとして使い、X Windowを立ち上げない環境でVirtualBoxのゲストマシンを立ち上げる
そういった時にVBoxHeadlessという機能を使い、コンソール画面を表示させないで起動させることができます。
これによりホストマシンのリソースを節約することができます。
VBoxHeadlessを使用した時にコンソール画面が必要になったときは、VRDPを使って画面を表示することができます。
VBOXHEADLESSの起動方法
VBoxHeadlessで仮想マシンを起動するには3つの方法があります。
VBoxManageコマンドを使う方法
おなじみのVBoxManageコマンドに–typeオプションを付けて起動する方法です。
VBoxManage startvm "VM name" --type headless
VBoxHeadlessコマンドを使う方法
仮想マシンの実行が開始される前の、特に起動の初期段階での失敗した時には詳細なエラーメッセージを見ることができます。
VBoxHeadlessコマンドをVBoxManageコマンドで起動に失敗した時のトラブルシューティングに役立ちます。
VBoxHeadless --startvm <uuid|name>
通常使用時にはVBoxMangeコマンドでの起動が良いようです。
ちなみに、他のOSでは確認していませんが、Windowsの場合VBoxHeadlessコマンドで起動させるとプロンプトが帰ってきません。
「Ctrl + c」コマンドで強制的にプロンプトを戻そうとすると、仮想マシンは中断状態になってしまいます。
VirtualBoxマネージャーから起動する方法
実はVirtualBoxマネージャーからも「Shiftキー」を押しながら起動アイコンをクリックすることで、Headlessで起動させることができます。
通常起動とVBOXHEADLESSで起動しときのリソースの変化
簡単ですが、仮想マシンを通常起動とHeadless起動させてホストOSのメモリの使われ方の変化を見てみました。
仮想マシンは起動後、十分な時間を置いて落ち着いたところで、タスクマネージャーでの消費メモリ量を見ています。
検証環境
ホストOS | Windows7 |
ゲストOS | Ubuntu13.10 |
メモリ | 756MB |
検証結果
通常起動 | 164,400KB |
Headless起動 | 109,640KB |
素の状態で何も動いていないUbuntuでしたが、なんとメモリが55MBも減る結果となりました。
複数の仮想マシンを同時に動かしている環境などは、かなりのメモリ削減効果があるのではないでしょうか。