[検証] 仮想PCで学ぶ「体当たり」Windowsシステム管理 第10回 Oracle VM VirtualBoxを使う(後) 1.メモリ・サイズとCPUコア数の変更 デジタルアドバンテージ 打越 浩幸2010/10/14 |
|
前回は「Oracle VM VirtualBox(以下VirtualBox)」の概要とインストール、仮想マシンの作成方法について簡単に解説した。今回は、仮想マシンのカスタマイズやスナップショット機能などについてみていく。
ハードウェア構成の変更
作成した仮想マシンの構成を変更し、利用目的に合わせてカスタマイズするには、仮想マシンごとの設定オプションを変更する。変更できる項目はほかの仮想化ソフトウェアと同様だが、CPUの特権機能に関する設定があるなど、やや細かくなっている。よく分からない場合は、デフォルトのまま利用するのがよいだろう。そのためにも、仮想マシンを作成する場合は、Windows OSの種類(Windows XPかWindows 7か、など)やbit数の違い(32bit版か64bit版か)などを正しく指定しておくことが重要である。
仮想マシンのハードウェアの構成を変更するには、VirtualBoxの管理画面で対象の仮想マシンを選択し、ツール・バーにある[設定]アイコンをクリックするか、ポップアップ・メニューから[仮想マシン設定]を選択する。
VirtualBoxの仮想マシン管理コンソール画面 | |||||||||
VirtualBoxを起動するとこのように、左側に仮想マシン一覧、右側にその詳細が表示される。 | |||||||||
|
仮想マシンの構成変更でよく行われるのは、メモリ・サイズの調整だろう。利用するアプリケーションのサイズなどに合わせて、最初に作成したときのサイズから増やすようにする。ただし、元のサイズよりも大幅に変更し、さらにCPU構成なども大きく変更すると、インストールしたWindows OSイメージの再アクティベーションが必要になることがある。そのため、可能なら最初から大きなメモリ・サイズでWindows OSをインストールしてアクティベーションなどを行っておくと、手間がかからなくて済む。
メモリ・サイズの変更
メモリ・サイズの設定は、設定ダイアログの「システム」グループにある「マザーボード」タブで行う。
VirtualBoxでは、仮想マシンのメモリ・サイズを、ホストPCの空き物理メモリ・サイズいっぱいまで拡大できる(安全のために、全物理メモリ・サイズの70%を超えると警告が出る)。以前解説したVMware Playerのように、仮想的なメモリを扱う機能はないので(次期Hyper-Vではこの機能が導入される予定)、ゲスト仮想マシンに多量のメモリを割り当てるためには、ホスト・コンピュータに実際に大量の物理メモリを装着しておく必要がある。例えばゲストOS(仮想マシン)に8Gbytesのメモリを割り当てたければ、ホストPCには10Gbytesとかそれ以上のメモリを実際に装着する必要があるだろう。ゲストOSの仮想記憶機能を使い、例えば2Gbytesの物理メモリと8Gbytesのページ・ファイルを割り当てるといった方法もあるが、その分、パフォーマンスが低下することは理解しておく必要がある。
CPU構成の変更
次はCPUコアの割り当てについてみてみよう。ウィザードはデフォルトでは、1仮想マシンに対して1コア(VirtualBoxでは「1プロセッサ」と呼んでいる)のみ割り当てるが、より多くのCPUコアを割り当てることも可能である。ただしメモリの項目でも述べたように、CPUのコア数のような基本的な項目を変更すると、Windows OSでは再アクティベーションが必要になることがある。また複数の仮想マシンを実行する場合に物理コア数を超えてしまうと、大幅なパフォーマンスの低下を引き起こすこともある。本連載で扱っているような実験的な用途ではCPUの負荷はあまり高くないので、仮想マシンのCPUコア数は常に1つだけにしておいても構わないだろう。2コアや4コア、8コアなど、実PCのコア構成などをそのまま反映させたような仮想マシンを作成しても、実際に各仮想コアがどの実コア(スレッド)に割り当てられるかはゲストOSやユーザーでは制御できないので、場合によっては(ほかのプロセスの実行などですでにCPUが利用中の場合など)パフォーマンスが大きく低下する可能性がある。1コアのみに限定しておき、実際のコア(実行スレッド)の管理はホストOSやVirtualBoxに任せておけばよい。
ところで、仮想マシンのCPUのコア数を途中で変更しても、それがゲストOSで実際に認識され、利用できるようになるかどうかはゲストOS次第である。例えばWindows XPやそれ以前のWindows OSでは、1コアから2コア以上に変更してもOS側では自動的に認識されず、1コアしか利用されない。マルチコア対応にするには、HAL(Hardware Abstraction Layer)モジュールの変更が必要になる(TIPS「Windows 2000で選択可能なHALのシステム タイプ」「現在使用されているHALのファイル名を調査する」参照)。どのHALが必要なのかはWindows OSのインストール時にはチェックされるが、その後は自動判定されないからだ。これに対してWindows VistaやWindows 7のような新しいWindows OSでは起動時に自動的に判定され、対応するHALの入れ替えも自動的に行われるが、その際にシステムを再起動する必要がある。無用なトラブルを防ぐためにも、(特に必要がない限り)実験的な用途で使う仮想マシンでは1コアでよいだろう。
VirtualBoxでCPUのコア数を変更するには、「システム」グループの「プロセッサ」タブを利用する。VirtualBoxの仕様では最大32コアまでサポートされているが、実際の設定画面ではホストCPUの持つコア数の2倍までしか設定できない。しかも実際の物理コア数を超えた値を設定すると、仮想マシンの起動や動作が非常に重くなるなどの症状が現れることがあるので(各スレッドがCPUリソースを取り合って「競合」を起こしているようである)、必要最小限のコア数にしておこう。例えば、8コアの物理CPUを持つシステムならば(物理的に8コアか、それとも4コア×ハイパースレッドで8コアに見えるのかは、どちらでもよい)、設定画面では16コアまで指定できるが、パフォーマンスを考えると最大でも8コアとかそれ以下にしておくのが望ましい。
仮想マシンのコア数の設定 | |||||||||||||||||||||
仮想マシン作成ウィザードはデフォルトでは1コアのみを割り当てているが、それを変更できる。Windows OSのHALの変更の手間やそれによって起こるトラブルなどを考えると、最初にWindows OSをインストールする前にコア数を変更/設定しておくのがよい。 | |||||||||||||||||||||
|
次の画面は、コア数=8個のホストCPU上で、16コアを有効にした仮想マシンを起動したところである。このように、VirtualBoxでは実コア数を超えた仮想マシンを作成できるが、仮想マシンの起動時にホスト側のCPU利用率が100%近くになる、無負荷状態なのにCPU利用率が30%前後のままになるなど、いくらか問題があるようだ。通常は1〜2コア程度で運用するのがよいだろう。
変更された仮想マシンのコア数 | |||||||||||||||
ホストCPUはCore i7-950(4コア+ハイパースレッドで、同時8スレッド実行可能)なので、この場合は最大で16コアまで仮想マシンのコア数を設定できる。 | |||||||||||||||
|
INDEX | ||
[検証]仮想PCで学ぶ「体当たり」Windowsシステム管理 | ||
第10回 Oracle VM VirtualBoxを使う(後) | ||
1.メモリ・サイズとCPUコア数の変更 | ||
2.グラフィックスとネットワーク、リモート・ディスプレイの設定 | ||
3.スナップショットとシームレス・モードの操作 | ||
「検証」 |
- Oracle VM VirtualBoxを使う(後) (2010/10/14)
高機能な仮想化ソフトVirtualBox解説の後編。仮想マシン環境のカスタマイズやスナップショット機能について解説 - 第241話 スイス・ストレージ (2010/10/12)
ゴルゴ13も使っているスイス銀行はご存じのとおりでしょう。今回の新サービスは、いわばオンライン・ストレージのスイス銀行です - ファイル/フォルダのタイム・スタンプを書き換える (2010/10/8)
納品するソフトウェアや文書ファイルのタイム・スタンプを揃えて体裁を整えたいが、Windows標準ではできない。フリーのツールで簡単に書き換える方法とは? - VDIをもっと便利にする拡張機能とは? (2010/10/7)
ユーザーごとに専用の仮想デスクトップを割り当てる方法や、リモートのアプリケーションへ直接アクセスするRemoteAppなどを解説する
|
|
- 国境を越えた連携を目指す新しいセキュリティ標準
- “ユニクロ独り勝ち”の死角をあえて問う!
- 総額2兆円分! なぜ円高だと“為替介入”するのか
- Oracle VM VirtualBoxを使う(後)
- PC再起動時にアプリやウィンドウの状態を復元する
- キュー構造をJavaで実装してジェネリック型を理解する
- プロトラブズのオマケ教材が、ちょっとすごい
- ラプラス変換と複素数が導く! +Dのご利益
- アニメーターのためのFlash Lite用ActionScript入門
- 機器をカラダで操作するジェスチャ入力に注目してみた
- Windows Azure Platform AppFabricの機能と導入
- 部下が嫌がるのは、しかられることではなく「無関心」
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -