Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

仮想マシンの実行優先度を調整する(Virtual Server 2005編)

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2006/06/10
 
対象ソフトウェア
Virtual Server 2005 R2
仮想マシン環境の実行優先度は、デフォルトではフォアグラウンド・アプリケーションやほかのサービスと同じになっている。
だがこのままだと、仮想マシン以外のプロセスのパフォーマンスが下がるので、状況に応じて仮想マシンで使用するCPUリソースの量を制限するとよい。
各仮想マシンで利用可能なCPUリソースは、管理ツールの[リソースの割り当て]で設定する。
 
解説

 Virtual PC 2004やVirtual Server 2005などを使って、仮想マシンを稼働させる場合、仮想マシン内での処理負荷が高いと、ホスト・システム上で動作しているアプリケーションやサービスの動作にも影響を与え、処理速度が低下することがある。これを避けるには、仮想マシンの実行優先度を下げるとよい。すると、フォアグラウンドのアプリケーションが忙しいときは最大速度で稼働し(CPUを占有し)、アイドルになるとバックグラウンドの仮想マシンへCPU時間が割り当てられるようになる。

 TIPS「仮想マシンの実行優先度を調整する(Virtual PC 2004編)」では、Virtual PC 2004における、仮想マシンの実行優先度の設定方法について解説した。だがVirtual Server 2005/Virtual Server 2005 R2の場合は、仮想マシンはサービスとして実行されているため、ユーザーが手動でそのプロセスの優先度を変更することはできない。代わりに、「CPUリソースの割り当て」という機能を利用して、あらかじめ各仮想マシンに割り当てるCPU時間を限定すればよい。本TIPSではこの方法について解説する。

操作方法

 Virtual Server 2005 R2(以下VS2005)でCPUの割り当て時間を制限するには、VS2005のWeb管理画面のメニューで、[Virtual Server]−[リソースの割り当て]というメニューを起動する。

CPUリソースの割り当てメニュー
VS2005のWeb管理画面で、CPUリソースの割り当てメニューを選択する。
  これをクリックする。

 このメニューをクリックすると、次のようなCPUリソースの割り当て画面が表示される。

CPUリソースの割り当て設定画面
仮想マシンごとに、利用する(占有する)CPU時間の下限と上限を設定することができる。デフォルトでは0%から100%まで利用するようになっているので、処理の重い仮想マシンがあると、システム上のほかのアプリケーションやサービスが影響を受け、処理が滞る。これを避けるには、仮想マシンで使用するCPU時間をいくらか制限するとよい。
  CPU利用時間の下限。デフォルトでは0%なので、常に稼働させておきたい場合はこの値を0%よりも大きな値にする。
  CPU利用時間の上限。デフォルトでは100%なので、処理が重い場合は、全CPU時間を消費する。ただし合計が100%を超える場合は、各仮想マシン間で分割して消費する。
  の合計。
  100%からを引いた残り。

 この画面にある、[予約済み容量()]と[最大容量()]という項目が、各仮想マシンに割り当てるCPUリソースの量である。デフォルトでは予約済み容量は0%、最大容量は100%となっている。

 「容量」とは、各仮想マシンが消費可能なCPU時間の割合のことであり、例えば、50%ならシステム中の全CPU時間のうち、半分を消費することを意味している。マルチプロセッサ・システムの場合は、全CPUに対する割合となり、例えばデュアル(2)プロセッサ・システムにおいて、片方のCPU時間をすべて使いきり、もう片方が完全にアイドル状態であるとすると、容量を50%消費したことになる。

 最大容量とは、仮想マシンが利用できるCPU時間の上限であり、例えば100%ならば、最大負荷時には、システム中の全CPU時間を消費することになる。また予約済み容量とは、利用可能なCPU時間の下限を表し、特定の仮想マシンに対して、常にいくらかのCPU時間を割り当てておきたい場合に利用する(ほかのアプリケーションや仮想マシンの影響を受けずに、常に稼働させたい場合に設定する)。ただし、実際のOSやアプリケーション環境では、常に全CPU時間を消費するわけではないだろうから、実行時には、ここで設定した範囲内(予約容量〜最大容量。デフォルトでは0〜100%)でCPU消費時間が変わることになる。なお、実行中でない仮想マシンやアイドル中の場合はCPUリソースを消費しないので、0%となる。

 上の画面例では3つの仮想マシン環境があり、それぞれの最大容量は100%なので、その合計は300%となる。最大容量の合計が100%(もしくはそれ以上)ということは、最大負荷時には、システム中の全CPUリソースが仮想マシンの実行に割り当てられることになる(もちろん実際には100%以上のリソースはあり得ないので、この場合は各仮想マシンで3分の1ずつ使用する)。

 以上から分かるように、VS2005以外のアプリケーションやサービスでも常にいくらかのCPU時間を確保したければ、実行中の仮想マシンの最大容量の合計が100%以下になるように設定しておくとよい。例えば最大容量をすべて20%に設定しておけば、その合計は60%となり、VS2005以外で40%のCPUリソースを利用することができる。

 もっともこれでは、各仮想マシンは最大でもCPU能力の20%しか利用できないので、もっと大きな値でもよいだろう。実際の運用では仮想マシンが常にフルスピードで稼働しているわけではないだろうから、重くなりそうな(CPU消費時間の多そうな)仮想マシンの最大容量を100%からいくらか下げて、例えば80%に設定しておくと、(ほかのプロセスがアイドル状態ならば)80%のCPU能力を活用することができる。End of Article

関連記事(Windows Server Insider)
Windows TIPS:仮想マシンの実行優先度を調整する(Virtual PC 2004編)
Windows TIPS:仮想マシンの実行優先度を調整する(Virtual Server 2005編)
Windows TIPS:仮想マシンの終了方法を理解する(Virtual Server 2005編)
Windows TIPS:起動するプログラムの優先度を変更する方法
Windows TIPS:Virtual PCの仮想マシンへのショートカットを素早く作成する
Windows TIPS:仮想ハードディスクのデフラグに注意
Windows TIPS:仮想ハードディスクを圧縮する(Virtual PC 2004編)
Windows TIPS:仮想ハードディスクを圧縮する(Virtual Server 2005 R2編)
製品レビュー:デスクトップOSのマイグレーションを支援するVirtual PC 2004
製品レビュー:サーバ・システムの統合/マイグレーションを推進するVirtual Server 2005
 
「Windows TIPS」


Windows Server Insider フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Windows Server Insider 記事ランキング

本日 月間