(57)【特許請求の範囲】
【請求項１】
物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、前記仮想マシン毎に割り当てられた各リソースの利用率を測定するリソース利用率測定装置であって、
前記仮想マシン毎の各リソースの割当量制限値が入力される割当量制限値入力手段と、
前記仮想マシン毎の各リソースの利用量が入力されるリソース利用量入力手段と、
前記物理マシンの各リソースのリソース量が入力される物理リソース量入力手段と、
前記入力された仮想マシン毎の各リソースの利用量を、前記入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、前記仮想マシン毎の各リソースの利用率を計算する仮想マシン利用率計算手段と、
前記入力された仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、前記入力された物理マシンの各リソース量で除算することにより、前記物理マシンの各リソースの利用率を計算する物理マシン利用率計算手段と、
前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する利用率出力手段と、
を備え、
前記割当量制限値は、前記仮想マシンに割り当てるリソース量を制限する値であって、当該仮想マシンに割り当て可能な最大のリソース量を示す値であることを特徴とするリソース利用率測定装置。
【請求項２】
物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、前記仮想マシン毎に割り当てられた各リソースの利用率を測定するリソース利用率測定装置のプログラムであって、
前記リソース利用率測定装置を、
前記仮想マシン毎の各リソースの割当量制限値が入力されると、当該各リソースの割当量制限値を前記リソース利用率測定装置のメモリに書込む割当量制限値入力手段、
前記仮想マシン毎の各リソースの利用量が入力されると、当該各リソースの利用量を前記メモリに書込むリソース利用量入力手段、
前記物理マシンの各リソースのリソース量が入力されると、当該各リソースのリソース量を前記メモリに書込む物理リソース量入力手段、
前記メモリ内の仮想マシン毎の各リソースの利用量を、前記メモリ内の仮想マシン毎の各リソースの割当量制限値で除算することにより、前記仮想マシン毎の各リソースの利用率を計算する仮想マシン利用率計算手段と、
前記メモリ内の仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、前記メモリ内の物理マシンの各リソース量で除算することにより、前記物理マシンの各リソースの利用率を計算する物理マシン利用率計算手段、
前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する利用率出力手段、
として機能させ、
前記割当量制限値は、前記仮想マシンに割り当てるリソース量を制限する値であって、当該仮想マシンに割り当て可能な最大のリソース量を示す値であるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、リソース利用率測定装置及びプログラムに関する。
【背景技術】
【０００２】
計算機システムの性能を監視する場合、vmstat，iostat等の性能計測コマンドを利用し、計算機システムの性能データを採取している。vmstatを利用する場合には、ＣＰＵ（中央演算処理装置）の利用率が計測される。iostatを利用する場合には、ディスクアクセスの利用率が計測される。
【０００３】
仮想化環境の仮想マシン上においてvmstat等の性能計測コマンドを実行した場合には、その仮想マシンに割当てられたリソース量（リソース割当量）に対する現在のリソース利用量の割合（＝リソースの利用量／リソース割当量）が計測される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２９３１１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、仮想化環境において性能計測コマンドを実行した場合には、各仮想マシンの負荷に従って各仮想マシンへのリソース割当量が動的に変化することから、利用率の解釈が難しくなる。例えば、仮想マシン上でvmstatによりＣＰＵの利用率を計測する場合、計算処理量（リソースの利用量）が一定の仮想マシンでもＣＰＵの割当量が減少すると、vmstatで計測されるＣＰＵ利用率が増加する。
【０００６】
また、仮想マシン環境構築用ソフトウェアの一つであるVMwareでは、パフォーマンスチャートにより、物理マシンが持つリソース量に対する現在のリソースの利用量の割合を得ることができる。しかしながら、物理マシンのリソース量に対する現在のリソースの利用量の割合が示されても、仮想マシンに対するリソース割当量が分からなければ、仮想マシンが高負荷状態なのか否か、更に仮想マシンの負荷が上昇しても処理できるのか否かを判断することは難しい。
【０００７】
本発明が解決しようとする課題は、仮想化環境でもリソースの利用量に比例する値を有し、且つ他の仮想マシンのリソース割当量に影響されないリソース利用率を測定し得るリソース利用率測定装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態のリソース利用率測定装置は、物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、前記仮想マシン毎に割り当てられた各リソースの利用率を測定するリソース利用率測定装置である。
【０００９】
前記リソース利用率測定装置は、割当量制限値入力手段、リソース利用量入力手段、物理リソース量入力手段、仮想マシン利用率計算手段、物理マシン利用率計算手段及び利用率出力手段を備えている。
【００１０】
前記割当量制限値入力手段は、前記仮想マシン毎の各リソースの割当量制限値が入力される。前記割当量制限値は、前記仮想マシンに割り当てるリソース量を制限する値であって、当該仮想マシンに割り当て可能な最大のリソース量を示す値である。
【００１１】
前記リソース利用量入力手段は、前記仮想マシン毎の各リソースの利用量が入力される。
【００１２】
前記物理リソース量入力手段は、前記物理マシンの各リソースのリソース量が入力される。
【００１３】
前記仮想マシン利用率計算手段は、前記入力された仮想マシン毎の各リソースの利用量を、前記入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、前記仮想マシン毎の各リソースの利用率を計算する。
【００１４】
前記物理マシン利用率計算手段は、前記入力された仮想マシン毎の各リソースの利用量に基づいて、前記リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、前記入力された物理マシンの各リソース量で除算することにより、前記物理マシンの各リソースの利用率を計算する。
【００１５】
前記利用率出力手段は、前記計算された前記仮想マシン毎の各リソースの利用率、及び前記計算された物理マシンの各リソースの利用率を出力する。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係るリソース利用率測定装置の構成を例示するブロック図である。
【図２】同実施形態における動作を説明するためのフローチャートである。
【図３】リソース利用量の時系列データのグラフを示す模式図である。
【図４】リソース利用率の時系列データのグラフを示す模式図である。
【図５】第２の実施形態に係るリソース利用率測定装置の構成を例示するブロック図である。
【図６】同実施形態における動作を説明するためのフローチャートである。
【図７】同実施形態におけるボトルネック判断部の動作を説明するためのフローチャートである。
【図８】リソース利用量の時系列データのグラフを示す模式図である。
【図９】vmstatにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図１０】パフォーマンスチャートにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図１１】本実施形態の手法により計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図１２】リソース利用量の時系列データのグラフを示す模式図である。
【図１３】vmstatにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図１４】パフォーマンスチャートにより計測されるリソース利用率の時系列データのグラフを示す模式図である。
【図１５】本実施形態の手法により計測されるリソース利用率の時系列データのグラフを示す模式図である。
【発明を実施するための形態】
【００１７】
以下、各実施形態について図面を用いて説明する。なお、以下のリソース利用率測定装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からリソース利用率測定装置となるコンピュータにインストールされ、リソース利用率測定装置の機能を実現させるためのプログラムが用いられる。
【００１８】
（第１の実施形態）
第１の実施形態では、リソースの割当量制限値に対するリソースの利用量の割合を利用率として測定するリソース利用率測定装置について説明する。なお、リソース利用率測定装置は、物理マシンの各リソースを論理的に分割して、当該分割された各リソースの各々が割り当てられた仮想マシンを動作させる仮想化環境の計算機システムに対し、仮想マシン毎に割り当てられた各リソースの利用率を測定するものである。
【００１９】
図１は第１の実施形態に係るリソース利用率測定装置の構成を例示するブロック図である。このリソース利用率測定装置は、割当量制限値入力部１０１、リソース利用量入力部１０２、物理リソース量入力部１０３、仮想マシン利用率計算部１０４、物理マシン利用率計算部１０５及び利用率出力部１０６を備えている。
【００２０】
ここで、割当量制限値入力部１０１は、仮想マシン毎の各リソースの割当量制限値が入力されるものであり、具体的には例えば、外部から仮想マシン毎の各リソースの割当量制限値を受信し、仮想マシン利用率計算部１０４に送信する機能をもっている。なお、割当量制限値入力部１０１は、割当量制限値を送信する機能に代えて、割当量制限値をメモリ（図示せず）に書込む機能を有してもよい。計算機リソースとは、ＣＰＵ時間、メモリ、ディスクアクセス時間など、計算機が処理を行うときに利用する資源をいう。割当量制限値は、その仮想マシンに割り当てるリソース量に制限を設ける値であり、リソース量を割当てることができる最大のリソース量である。仮想化環境管理者によって設定される量である。
【００２１】
リソース利用量入力部１０２は、仮想マシン毎の各リソースの利用量が入力されるものであり、具体的には例えば、外部から仮想マシン毎の各リソースの利用量を受信し、仮想マシン利用率計算部１０４と物理マシン利用率計算部１０５に送信する機能をもっている。なお、リソース利用量入力部１０２は、各リソースの利用量を送信する機能に代えて、各リソースの利用量をメモリ（図示せず）に書込む機能を有してもよい。
【００２２】
物理リソース量入力部１０３は、物理マシンの各リソースのリソース量が入力されるものであり、具体的には例えば、外部から物理マシンが持つ計算機リソースの量を受信し、物理マシン利用率計算部１０５に送信する機能をもっている。なお、物理リソース量入力部１０３は、リソース量を送信する機能に代えて、リソース量をメモリ（図示せず）に書込む機能を有してもよい。物理マシンとは、仮想マシンに対する、実際のコンピュータやサーバのことを言う。ここでは仮想化ソフトウェアが組み込まれたコンピュータ自体をさす。
【００２３】
仮想マシン利用率計算部１０４は、リソース利用量入力部１０２に入力された仮想マシン毎の各リソースの利用量を、割当量制限値入力部１０１に入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、仮想マシン毎の各リソースの利用率を計算するものである。具体的には例えば、仮想マシン利用率計算部１０４は、割当量制限値入力部１０１から計算機リソースの割当量制限値を受信し、リソース利用量入力部１０２からリソースの利用量を受信し、仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合を計算し、計算結果を利用率出力部１０６に出力する機能をもっている。なお、仮想マシン利用率計算部１０４は、割当量制限値及びリソースの利用量がメモリに書込まれる場合、割当量制限値及びリソースの利用量を受信する機能に代えて、メモリ（図示せず）内の割当量制限値及びリソースの利用量を読出す機能を有するものとすればよい。
【００２４】
物理マシン利用率計算部１０５は、リソース利用量入力部１０２に入力された仮想マシン毎の各リソースの利用量に基づいて、リソース毎に各仮想マシンのリソースの利用量の合計値を計算し、当該合計値を、物理リソース量入力部１０３に入力された物理マシンの各リソース量で除算することにより、物理マシンの各リソースの利用率を計算するものである。具体的には例えば、物理マシン利用率計算部１０５は、リソース利用量入力部１０２からリソースの利用量を受信し、物理リソース量入力部１０３から物理マシンが持つ計算機リソースの量を受信し、物理マシンのリソース量に対するリソースの利用量の割合を計算し、その結果を利用率出力部１０６に出力する機能をもっている。なお、物理マシン利用率計算部１０５は、リソースの利用量及びリソース量がメモリに書込まれる場合、リソースの利用量及びリソース量を受信する機能に代えて、メモリ（図示せず）内のリソースの利用量及びリソース量を読出す機能を有するものとすればよい。
【００２５】
利用率出力部１０６は、仮想マシン利用率計算部１０４により計算された仮想マシン毎の各リソースの利用率、及び物理マシン利用率計算部１０５により計算された物理マシンの各リソースの利用率を出力するものである。具体的には例えば、利用率出力部１０６は、仮想マシン利用率計算部１０４からリソースの割当量制限値に対するリソース利用率を受信し、物理マシン利用率計算部１０５から物理マシンのリソース量に対するリソース利用率を受信し、外部に出力する機能をもっている。
【００２６】
次に、以上のように構成されたリソース利用率測定装置の動作を図２のフローチャートを用いて説明する。
【００２７】
いま、割当量制限値入力部１０１では、外部から仮想マシン毎の各リソースの割当量制限値が入力され（ＳＴ１）、仮想マシン利用率計算部１０４に送出される。
【００２８】
リソース利用量入力部１０２では、外部から仮想マシン毎の各リソースの利用量の時系列データが入力され（ＳＴ２）、仮想マシン利用率計算部１０４と物理マシン利用率計算部１０５に送出される。
【００２９】
物理リソース量入力部１０３では、外部から物理マシンが持つ計算機リソースの量が入力され（ＳＴ３）、物理マシン利用率計算部１０５に送出される。
【００３０】
仮想マシン利用率計算部１０４では、割当量制限値入力部１０１から入力されたリソースの割当量制限値と、リソース利用量入力部１０２から入力されたリソースの利用量とに基づいて、仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合が計算され（ＳＴ４）、計算結果が利用率出力部１０６に送出される。
【００３１】
物理マシン利用率計算部１０５では、リソース利用量入力部１０２から入力されたリソースの利用量と、物理リソース量入力部１０３から入力された物理マシンが持つリソース量から、物理マシンのリソース量に対するリソースの利用量の割合が計算され（ＳＴ５）、計算結果が利用率出力部１０６に送出される。
【００３２】
利用率出力部１０６では、仮想マシン利用率計算部１０４により計算されたリソースの割当量制限値に対するリソース利用率と、物理マシン利用率計算部１０５により計算された物理マシンのリソース量に対するリソース利用率とが、外部に出力される（ＳＴ６）。
【００３３】
以上のように、本実施形態のリソース利用率測定装置では、各仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合と、物理リソースの利用率とを指標として提示することにより、仮想マシンの状態を直感的に把握することができ、ボトルネックになっている仮想マシン、リソースを特定することができる。
【００３４】
次に、１台の仮想マシンの処理量が増加し、割当量も増加した場合の利用率の一例を説明する。ここでは従来の性能計測コマンドとしてvmstatを使って説明するが、他のiostatなどのコマンドの場合も同様に説明できる。
【００３５】
図３はリソースの利用量の時系列データのグラフを示す模式図である。横軸が時間、縦軸が一台の仮想マシンのある一種類のリソースの利用量（１）、リソース割当量（２）、リソースの割当量制限値（３）、物理リソース量（４）を表している。
【００３６】
リソースの利用量（１）が段階的に増加すると、それに合わせてリソース割当量（２）が増加する。時刻ｔ４にリソース割当量（２）がリソースの割当量制限値（３）に一致すると、それ以上のリソースは割り当てられなくなる。その後、時刻ｔ５にリソースの利用量（１）もリソースの割当量制限値（３）に一致し、割り当てられたリソースを全て利用する状態になっている。
【００３７】
このようにリソースの利用量が増加した場合の、リソース利用率を図４に示す。
【００３８】
vmstatにより計測されるリソース利用率（ａ）は、リソースの利用量（１）をリソース割当量（２）で除算した値である。
【００３９】
vmstatによるリソース利用率＝リソースの利用量／リソース割当量
このため、vmstatによるリソース利用率（ａ）は、リソースの利用量（１）が増加するにも関わらず、時刻ｔ３までは利用率５０％が続き、時刻ｔ４からｔ５の間で急に利用率１００％に増加している。ユーザにとっては、処理量（リソースの利用量（１））が増加したにも関わらず、利用率５０％が続くため、システムの状態を把握し難い指標になってしまう。
【００４０】
VMwareのパフォーマンスチャートにより表示される利用率（ｂ）は、リソースの利用量（１）を物理リソース量（４）で除算した値なので、リソースの利用量（１）に比例する値を示す。
【００４１】
VMwareによる利用率＝リソースの利用量／物理リソース量
ただし、VMwareによる利用率（ｂ）が１００％になるのは、リソースの利用量（１）が物理リソース量（４）に一致する場合であり、リソースの割当量制限値（３）が設けられている場合には、リソースの割当量制限値（３）が上限値になるため、１００％にはならない。図４の場合には、リソースの割当量制限値（３）の５０％が利用率（ｂ）の上限値になっている。ユーザにとっては、何％で上限値になるのかが分からないため、現在の状態が高負荷状態なのか否かを判断することが難しい指標である。
【００４２】
本実施形態によるリソース利用率（ｃ）は、リソースの利用量（１）をリソースの割当量制限値（３）で除算した値なので、リソースの利用量（１）に比例する値を示す。
【００４３】
本実施形態によるリソース利用率＝リソースの利用量／リソースの割当量制限値
また、本実施形態によるリソース利用率（ｃ）は、時刻ｔ５にリソースの利用量（１）がリソースの割当量制限値（３）に達すると、１００％を示すので、ユーザにとっては、システムの状態を判断し易い指標である。
【００４４】
上述したように本実施形態によれば、仮想マシン毎の各リソースの割当量制限値に対する利用量の割合を利用率として計算する構成により、リソースの利用量が割当量制限値に一致する場合が１００％と表示されるので、リソースの利用状況を容易に判断でき、また、今後どれくらいの処理量の増加が大丈夫かを予測できるようになる。
【００４５】
補足すると、特許文献１によれば、段落［００２２］〜［００３５］の部分に、仮想計算機の監視情報として、仮想計算機へのリソース割当率と、仮想計算機上で測定されるリソース利用率が計測されると説明されている。
【００４６】
特許文献１の仮想計算機上で計測されるリソース利用率は、その仮想計算機に割当てられたリソース量に対する利用量の割合であり、その割当てられたリソース量が動的に変化するため、リソース利用率だけでは、システムの状態を把握することが難しい(vmstatの場合と同様)。
【００４７】
また、特許文献１によれば、仮想計算機へのリソース割当率も計測されているので、仮想計算機へのリソース割当率と仮想計算機上で計測されるリソース利用率を合わせて考える（乗算する）ことで、物理マシンのリソース量に対する利用率を求めることができる。但し、特許文献１によれば、その仮想マシンに対するリソースの割当量制限値が設定されている場合には、物理マシンのリソース量に対する利用率が１００％まで利用できるわけではないので、リソースの利用量のリソースの割当量制限値に対する割合が分からないと、例えばシステムにどれくらいの余裕があるのかといった状態を把握することはできない(VMwareのパフォーマンスチャートの場合と同様)。
【００４８】
一方、本実施形態によれば、前述したように、リソースの利用量をリソースの割当量制限値で除算した値をリソース利用率として定義することにより、vmstatやVMwareと同様の特許文献１記載の技術の問題を解決でき、システムの状態を把握することができる。
【００４９】
なお、上記説明では、割当量制限値入力部１０１、リソース利用量入力部１０２、物理リソース量入力部１０３は外部からそれぞれ情報を受信すると説明しているが、実際には、例えばVMwareの場合には、esxtop，resxtopといった性能計測用コマンドがあり、それらのコマンドが仮想マシン毎の各リソースの割当量制限値とリソースの利用量、物理マシンの各リソースの量を出力するので、その信号を入力として、計算することができる。また、本実施形態の利用率測定手法を性能計測プログラムとして実装することができる。
【００５０】
（第２の実施形態）
第２の実施形態では、第１の実施形態で測定した利用率に基づいて、ボトルネックとなるリソースを判断するリソース利用率測定装置について説明する。
【００５１】
図５は第２の実施形態に係るリソース利用率測定装置の構成を例示するブロック図であり、図１と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
【００５２】
すなわち、第２の実施形態は、第１の変形例であり、図１に示した利用率出力部１０６に代えて、ボトルネック判断部１０７及び判断結果出力部１０８を備えている。
【００５３】
ここで、割当量制限値入力部１０１、リソース利用量入力部１０２及び物理リソース量入力部１０３は、第１の実施形態と同様なので説明を省略する。
【００５４】
仮想マシン利用率計算部１０４及び物理マシン利用率計算部１０５は、第１の実施形態と同様のものであるが、計算結果の送出先が、利用率出力部１０６に代えてボトルネック判断部１０７となっている。
【００５５】
ボトルネック判断部１０７は、仮想マシン利用率計算部１０４により計算された仮想マシン毎の各リソースの利用率、及び物理マシン利用率計算部１０５により計算された物理マシンの各リソースの利用率に基づいて、物理マシンの各リソース及び仮想マシンの各リソースがボトルネックになっているかを判断するボトルネック判断機能をもっている。
【００５６】
ここで、ボトルネック判断機能は、例えば、物理リソース判断機能及び仮想リソース判断機能をもっている。
【００５７】
物理リソース判断機能は、物理マシン利用率計算部１０５により計算された物理マシンの各リソースの利用率がしきい値以上であるか否かを判断し、当該しきい値以上のリソースがある場合には、当該リソースのリソース名及び物理マシン名を判断結果出力部１０８に送出する機能である。
【００５８】
仮想リソース判断機能は、物理リソース判断機能による判断の結果、しきい値以上のリソースが無い場合には、仮想マシン利用率計算部１０４により計算された仮想マシンの各リソースの利用率がしきい値以上であるか否かを判断し、当該しきい値以上のリソースがある場合には、当該リソースのリソース名及び仮想マシン名を判断結果出力部１０８に送出する機能である。
【００５９】
なお、ボトルネック判断部１０７は、判断結果出力部１０８にリソース名及び物理マシン名や、リソース名及び仮想マシン名を送出する場合、更に利用率を送出してもよい。
【００６０】
また、ボトルネック判断部１０７は、各利用率を各計算部１０４，１５から受信する構成としてもよく、図示しないメモリから読出す構成としてもよい。
【００６１】
また、各利用率のしきい値としては、例えば、９０％又は９０±５％の範囲内の値が使用可能となっている。
【００６２】
判断結果出力部１０８は、ボトルネック判断部１０７による判断結果を出力するものであり、例えば、ボトルネック判断部１０７からマシン名とリソース名、利用率を受信すると、それを外部に出力する機能をもっている。
【００６３】
次に、以上のように構成されたリソース利用率測定装置の動作を図６のフローチャート図を用いて説明する。
【００６４】
ステップＳＴ１からＳＴ３までの処理は、第１の実施形態と同様に実行される。
【００６５】
仮想マシン利用率計算部１０４では、割当量制限値入力部１０１から入力されたリソースの割当量制限値と、リソース利用量入力部１０２から入力されたリソースの利用量とに基づいて、仮想マシンのリソースの割当量制限値に対するリソースの利用量の割合が計算され（ＳＴ４）、計算結果がボトルネック判断部１０７に送出される。
【００６６】
物理マシン利用率計算部１０５では、リソース利用量入力部１０２から入力されたリソースの利用量と、物理リソース量入力部１０３から入力された物理マシンが持つリソース量から、物理マシンのリソース量に対するリソースの利用量の割合が計算され（ＳＴ５）、計算結果がボトルネック判断部１０７に送出される。
【００６７】
ボトルネック判断部１０７では、仮想マシン利用率計算部１０４により計算された仮想マシン毎の各リソースの利用率、及び物理マシン利用率計算部１０５により計算された物理マシンの各リソースの利用率に基づいて、物理マシンの各リソース及び仮想マシンの各リソースがボトルネックになっているかを判断する（ＳＴ７）。
【００６８】
ステップＳＴ７においては、例えば、物理マシン利用率計算部１０５により計算された物理マシンのリソース量に対するリソース利用率の中でしきい値以上のものがあるかが判断され、しきい値以上の利用率があれば、物理マシン名、リソース名、利用率が判断結果出力部１０８に送出される。
【００６９】
またステップＳＴ７においては、物理マシンのリソース量に対するリソース利用率の中にしきい値以上のものがなければ、仮想マシン利用率計算部１０４により計算されたリソースの割当量制限値に対するリソース利用率の中でしきい値以上のものがあるかが判断され、しきい値以上の利用率があれば、そのマシン名、リソース名、利用率が判断結果出力部１０８に送出される。
【００７０】
ステップＳＴ７の後、判断結果出力部１０８では、ボトルネック判断部１０７から送出されたマシン名、リソース名、利用率が外部に出力される（ＳＴ８）。
【００７１】
次に、ステップＳＴ７のボトルネック判断部１０７の動作を図７のフローチャートを用いて詳細に説明する。
【００７２】
まず、初期設定として、物理マシンのリソースがボトルネックになっていることを表すフラグを０（ｆａｌｓｅ）に設定する（ＳＴ７−１）。
【００７３】
物理マシン利用率計算部１０５から受信した物理マシンのリソースの種類毎に以下の処理を行う（ＳＴ７−２）。
【００７４】
物理マシンのリソースｉについて、そのリソース利用率がしきい値以上であるか比較する（ＳＴ７−３）。
【００７５】
物理マシンのリソースｉのリソース利用率がしきい値以上の場合、フラグを１（ｔｒｕｅ）に設定し（ＳＴ７−４）、物理マシン名、リソースｉのリソース名、リソース利用率を判断結果出力部１０８に送出する（ＳＴ７−５）。
【００７６】
以上のステップＳＴ７−３からＳＴ７−５までの処理を物理マシンのリソースの種類数だけ繰り返す（ＳＴ７−６）。
【００７７】
フラグの値を確認し、１（ｔｒｕｅ）の場合は処理を終了する（ＳＴ７−７）。
【００７８】
仮想マシン毎に以下の処理を行う（ＳＴ７−８）。
【００７９】
仮想マシンのリソースの種類毎に以下の処理を行う（ＳＴ７−９）。
【００８０】
仮想マシンｊのリソースｋについて、そのリソース利用率がしきい値以上であるか比較する（ＳＴ７−１０）。
【００８１】
仮想マシンｊのリソースｋの利用率がしきい値以上の場合、仮想マシンｊの名前、リソースｋのリソース名、リソース利用率を判断結果出力部１０８に送出する（ＳＴ７−１１）。
【００８２】
以上のステップＳＴ７−１０からＳＴ７−１１までの処理を仮想マシンのリソースの種類数だけ繰り返す（ＳＴ７−１２）。
【００８３】
以上のステップＳＴ７−９からＳＴ７−１２までの処理を仮想マシンの台数だけ繰り返す（ＳＴ７−１３）。
【００８４】
以上により、ステップＳＴ７の処理が完了する。
【００８５】
次に、仮想化環境上に２台の仮想マシンがあり、そのうちの１台の処理量が増加し、割当量が変化した場合の一例を説明する。
【００８６】
図８はリソース利用量の時系列データのグラフを示す模式図である。横軸が時間、縦軸には２台の仮想マシンＶＭ１、ＶＭ２のある一種類のリソースの利用量｛（１１），（１４）｝、リソース割当量｛（１２），（１５）｝、リソースの割当量制限値｛（１３），（１６）｝、物理マシンのリソース量（１７）、リソースの利用量（１８）を表している。
【００８７】
仮想マシンＶＭ１のリソースの利用量（１１）が時刻ｔ１から増加すると、それに合わせて仮想マシンＶＭ１のリソース割当量（１２）も増加している。時刻ｔ２に仮想マシンＶＭ１のリソース割当量（１２）が仮想マシンＶＭ１のリソースの割当量制限値（１３）に一致すると、それ以上のリソースは割り当てられなくなり、一定値が続く。その後、時刻ｔ３に仮想マシンＶＭ１のリソースの利用量（１１）が仮想マシンＶＭ１のリソースの割当量制限値（１３）に一致し、割り当てられたリソースを全て利用する状態になっている。
【００８８】
仮想マシンＶＭ２のリソースの利用量（１４）は常に一定であるが、仮想マシンＶＭ１のリソース割当量（１２）が増加したため、仮想マシンＶＭ２のリソース割当量（１５）が減少している。物理リソースの利用量（１８）は仮想マシンＶＭ１のリソースの利用量（１１）と仮想マシンＶＭ２のリソースの利用量（１４）の合計値である。
【００８９】
このように２台の仮想マシンのリソースの利用量やリソース割当量が変化した場合に、vmstatにより計測される仮想マシンＶＭ１と仮想マシンＶＭ２のリソース利用率を図９に示す。仮想マシンＶＭ２はリソースの利用量が変化していないにも関わらず、仮想マシンＶＭ１へのリソース割当量が増加し、その分、仮想マシンＶＭ２のリソース割当量が減少することによって、仮想マシンＶＭ２のリソース利用率（ａ２）が増加してしまう。また、仮想マシンＶＭ１のリソースの利用量は時刻ｔ１から増加しているにも関わらず、仮想マシンＶＭ１のリソース利用率（ａ１）は時刻ｔ２から増加し、仮想マシンＶＭ２のリソース利用率（ａ２）のほうが時刻ｔ１から増加し始める。そのため、ユーザにとっては、この図９のグラフを見て、それが仮想マシンＶＭ１の処理量が増加したためとは考えにくく、システムの本当の現象を把握することは難しい。
【００９０】
次に、VMwareのパフォーマンスチャートにより計測される仮想マシンＶＭ１と仮想マシンＶＭ２のリソース利用率を図１０に示す。仮想マシンＶＭ１のリソース利用率（ｂ１）は時刻ｔ１から増加し、時刻ｔ３に７０％に達し、その後、仮想マシンＶＭ１の処理量が増加しても、利用率は上昇しない。これは仮想マシンＶＭ１のリソースの割当量制限値（１３）に達しているためであるが、ユーザにとっては、この図１０のグラフを見ただけでは、なぜ７０％で頭打ちになるのかが分からない。また、利用率５０％あたりの段階で、あとどれくらいの余裕があるのかも分からないという問題がある。
【００９１】
次に、本実施形態方式により測定される仮想マシンＶＭ１と仮想マシンＶＭ２、物理マシンのリソース利用率を図１１に示す。本実施形態方式のリソース利用率は、リソースの利用量をリソースの割当量制限値で除算した値なので、仮想マシンＶＭ１のリソース利用率（ｃ１）が仮想マシンＶＭ１のリソースの利用量（１１）に比例する値を示す。また、時刻ｔ３に仮想マシンＶＭ１のリソースの利用量（１１）がリソースの割当量制限値（１３）に達すると、仮想マシンＶＭ１のリソース利用率（ｃ１）は１００％を示すので、例えば仮想マシンＶＭ１のリソース利用率（ｃ１）が５０％の場合には、倍の処理を行うと限界に達するという推測が付けられ、ユーザにとっては、システムの状態を判断し易い指標である。
【００９２】
次に、仮想化環境上に２台の仮想マシンがあり、両方の仮想マシンで処理量が増加し、リソースの競合が発生する場合の一例を説明する。
【００９３】
図１２はリソースの利用量の時系列データのグラフである。横軸が時間、縦軸には２台の仮想マシンＶＭ１、ＶＭ２のある一種類のリソースの利用量、リソース割当量、リソースの割当量制限値、物理マシンのリソース量、リソースの利用量を表している。
【００９４】
時刻ｔ１に仮想マシンＶＭ１と仮想マシンＶＭ２で処理量が増加し、それぞれのリソースの利用量（（１１）と（１４））が増加するが、両方の仮想マシンのリソースの利用量が増加するので、仮想マシンＶＭ１のリソース割当量（１２）、仮想マシンＶＭ２のリソース割当量（１５）は変化しなかったとする。時刻ｔ２に仮想マシンＶＭ１のリソースの利用量（１１）は仮想マシンＶＭ１のリソース割当量（１２）に一致し、それ以降は、仮想マシンＶＭ１のリソース割当量（１２）が増加しないので、仮想マシンＶＭ１のリソースの利用量（１１）も一定になる。仮想マシンＶＭ２のリソースの利用量（１４）についても時刻ｔ２に仮想マシンＶＭ２のリソース割当量（１５）に一致し、それ以降は、仮想マシンＶＭ２のリソース割当量（１５）が増加しないので、仮想マシンＶＭ２のリソースの利用量（１４）も一定になる。仮想マシンＶＭ１、仮想マシンＶＭ２共に、そのリソースの利用量は、リソースの割当量制限値には到達しない。物理リソースの利用量（１８）は仮想マシンＶＭ１のリソースの利用量（１１）と仮想マシンＶＭ２のリソースの利用量（１４）の合計値であり、時刻ｔ２に１００％に達している。
【００９５】
このように２台の仮想マシンのリソースの利用量やリソース割当量が変化した場合に、vmstatにより計測される仮想マシンＶＭ１と仮想マシンＶＭ２のリソース利用率を図１３に示す。図１３では、時刻ｔ１から仮想マシンＶＭ１のリソース利用率（ａ１）、仮想マシンＶＭ２のリソース利用率（ａ２）が増加し、時刻ｔ２に共に１００％に達しているが、例えば仮想マシンＶＭ１のリソースの利用量（１１）が仮想マシンＶＭ１のリソースの割当量制限値（１３）に達しているのか否かが分からない。そのため、ユーザにとっては、この図１３のグラフを見ても、それが仮想マシンのリソースの割当量制限値がボトルネックになっているのか、物理リソースがボトルネックになっているのかを判断することが難しい。
【００９６】
次に、VMwareのパフォーマンスチャートにより計測される仮想マシンＶＭ１と仮想マシンＶＭ２のリソース利用率を図１４に示す。仮想マシンＶＭ１のリソース利用率（ｂ１）は時刻ｔ１から増加し、時刻ｔ２に４０％に達し、その後、仮想マシンＶＭ１の処理量が増加しても、利用率は上昇しない。また、仮想マシンＶＭ２のリソース利用率（ｂ２）も時刻ｔ１から増加し、時刻ｔ２に６０％に達し、その後、仮想マシンＶＭ２の処理量が増加しても、利用率は上昇しない。これは仮想マシンＶＭ１のリソースの利用量（１１）が仮想マシンＶＭ１のリソース割当量（１２）に達し、仮想マシンＶＭ２のリソースの利用量（１４）が仮想マシンＶＭ２のリソース割当量（１５）に達しているためであるが、ユーザにとっては、この図１４のグラフを見ただけでは、なぜ仮想マシンＶＭ１のリソース利用率（ｂ１）が４０％で頭打ちになるのか、なぜ仮想マシンＶＭ２のリソース利用率（ｂ２）が６０％で頭打ちになるのかが分からないという問題がある。
【００９７】
次に、本実施形態方式により計測される仮想マシンＶＭ１と仮想マシンＶＭ２、物理マシンのリソース利用率を図１５に示す。仮想マシンＶＭ１のリソース利用率（ｃ１）は時刻ｔ１から増加し、時刻ｔ２に５７％に達し、その後、仮想マシンＶＭ１の処理量が増加しても、利用率は上昇しない。また、仮想マシンＶＭ２のリソース利用率（ｃ２）も時刻ｔ１から増加し、時刻ｔ２に７５％に達し、その後、仮想マシンＶＭ２の処理量が増加しても、利用率は上昇しない。これは仮想マシンＶＭ１のリソースの利用量（１１）が仮想マシンＶＭ１のリソース割当量（１２）に達し、仮想マシンＶＭ２のリソースの利用量（１４）が仮想マシンＶＭ２のリソース割当量（１５）に達しているためである。仮想マシンＶＭ１と仮想マシンＶＭ２でリソースの競合が起きていることから、仮想マシンのリソース割当量が仮想マシンのリソースの割当量制限値に達しないために、仮想マシンのリソース利用率は１００％に達する途中で頭打ちになる。ただし、このようにリソースの競合が発生するのは、物理マシンのリソースがボトルネックになる場合であり、図１５でも物理マシンのリソース利用率（ｃ３）が１００％に達していることが分かる。
【００９８】
よって、本実施形態方式で、ボトルネックの判断を行う場合には、まず、物理リソースの利用率がしきい値を超えていないかを確認し、物理リソースの利用率がしきい値を越えている場合には、物理リソースがボトルネック部分であると判断する。そして全ての物理リソースの利用率がしきい値を越えていない場合には、次に、仮想マシンのリソース利用率がしきい値を超えていないかを確認し、仮想マシンのリソース利用率がしきい値を越えている場合には、その仮想マシンのそのリソースがボトルネック部分であると判断できる。
【００９９】
上述したように本実施形態によれば、仮想マシンの性能値として、リソースの割当量制限値に対する利用率を指標とする構成により、仮想マシンが利用できる限界のリソース量に対する割合が計算されるので、ユーザにとっては、リソース利用状況を判断し易い指標になる。また、性能トラブル発生時に、仮想マシンの状態を把握でき、ボトルネックになっている仮想マシン、リソースを特定することができる。
【０１００】
すなわち、本実施形態によれば、物理マシンのリソース利用率と仮想マシン毎の各リソースの割当量制限値に対する利用率を利用し、まず、物理マシンのリソース利用率が１００％近くになっていると、物理リソースがボトルネックになっていると判断し、物理リソースがボトルネックになっていない場合には、仮想マシンのリソースの中で利用率が１００％近くになっているリソースを見つけ出せば、そのリソースがボトルネックと判断できる。
【０１０１】
補足すると、従来技術では、性能トラブルが発生した場合に、その原因となっているボトルネックのリソースを見つけ出す一次解析についても難しくなる。例えば従来技術では、一台の仮想マシンの計算処理量が想定より大きくなって性能トラブルが発生した場合、その仮想マシンへのリソース割当量が増加し、他の仮想マシンへのリソース割当量が減少する。このとき、従来技術では、vmstatにより計測されるＣＰＵ利用率が全ての仮想マシンで上昇し、どの仮想マシンが原因でリソース利用率が高くなっているのかが判断できなくなる。
【０１０２】
一方、本実施形態によれば、性能トラブル時に仮想マシンのリソース利用状態を把握し、どこがボトルネックになっているかを判断できる。補足すると、仮想化環境では、物理マシンのリソースがボトルネックになる場合と、仮想マシンに割当てられたリソースがボトルネックになる場合とが考えられる。これに対し、本実施形態は、そのいずれの場合であってもボトルネックを判断することができる。
【０１０３】
以上説明した少なくとも一つの実施形態によれば、仮想マシン利用率計算部１４が、入力された仮想マシン毎の各リソースの利用量を、入力された仮想マシン毎の各リソースの割当量制限値で除算することにより、仮想マシン毎の各リソースの利用率を計算する構成により、仮想化環境でもリソースの利用量に比例する値を有し、且つ他の仮想マシンのリソース割当量に影響されないリソース利用率を測定することができる。
【０１０４】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１０５】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１０６】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１０７】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１０８】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１０９】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１１０】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１１１】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１２】
１０１…割当量制限値入力部、１０２…リソース利用量入力部、１０３…物理リソース量入力部、１０４…仮想マシン利用率計算部、１０５…物理マシン利用率計算部、１０６…利用率出力部、１０７…ボトルネック判断部、１０８…判断結果出力部。
【図１】
0005284406.tif 000002
【図２】
0005284406.tif 000003
【図３】
0005284406.tif 000004
【図４】
0005284406.tif 000005
【図５】
0005284406.tif 000006
【図６】
0005284406.tif 000007
【図７】
0005284406.tif 000008
【図８】
0005284406.tif 000009
【図９】
0005284406.tif 000010
【図１０】
0005284406.tif 000011
【図１１】
0005284406.tif 000012
【図１２】
0005284406.tif 000013
【図１３】
0005284406.tif 000014
【図１４】
0005284406.tif 000015
【図１５】
0005284406.tif 000016