JP5560690B2 - 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 - Google Patents

仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 Download PDF

Info

Publication number
JP5560690B2
JP5560690B2 JP2009284280A JP2009284280A JP5560690B2 JP 5560690 B2 JP5560690 B2 JP 5560690B2 JP 2009284280 A JP2009284280 A JP 2009284280A JP 2009284280 A JP2009284280 A JP 2009284280A JP 5560690 B2 JP5560690 B2 JP 5560690B2
Authority
JP
Japan
Prior art keywords
physical resource
usage
amount
memory
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009284280A
Other languages
English (en)
Other versions
JP2011128706A (ja
Inventor
和憲 晒谷
水紀 倉本
洋 野村
実 高田
和樹 水島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009284280A priority Critical patent/JP5560690B2/ja
Publication of JP2011128706A publication Critical patent/JP2011128706A/ja
Application granted granted Critical
Publication of JP5560690B2 publication Critical patent/JP5560690B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法に関する。
従来から、ソフトウェア制御によって物理計算機を論理的に分割した各々が独立した仮想計算機として機能する仮想計算機システムと呼ばれる技術が知られている。仮想計算機システムでは、物理計算機が有する記憶資源である物理メモリを論理的に分割して各仮想計算機に割り当てる。各仮想計算機は、それぞれ割り当てられた容量の範囲内で物理メモリを使用することができる。
ここで、物理計算機上で稼働する各仮想計算機は、割り当てられた容量の範囲内でのみ物理メモリを使用可能であることから、負荷状況によって、割り当てられた容量の物理メモリに過不足が生じる場合がある。そこで、各仮想計算機の物理メモリの使用状況に応じて、ある仮想計算機における物理メモリの余剰分を物理メモリが不足する他の仮想計算機に変更して割り当てる従来技術が考案されている。
特開2005−309644号公報 特開平1−2145号公報
しかしながら、上述した従来技術のように、ある仮想計算機における物理メモリの余剰分を物理メモリが不足する他の仮想計算機に変更して割り当てるだけでは、仮想計算機における物理メモリの割り当てが十分に最適化されない場合があった。
すなわち、該当仮想計算機において物理メモリの不足が解消する物理メモリの必要容量が不明であるため、物理メモリの追加容量が必要容量と乖離する場合には、追加容量が過剰となったり、逆に不足したりする場合があった。
また、仮想計算機が使用する物理メモリの容量は時々刻々と変化するので、例えばある時刻に余剰とされた物理メモリの相当量が以降も余剰であるとは限らない。すなわち、一時的にある仮想計算機において余剰とされて他の仮想計算機に変更して割り当てられた物理メモリの相当量を、再び元の仮想計算機に割り当て直すことが求められる場合があった。
そこで一つの側面では、仮想計算機における物理メモリの割り当てを最適化する仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法を提供することを目的とする。
開示技術の仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法は、一つの態様において、先ず、設定値が設定されている設定ファイルから設定値を読み込む。そして、仮想計算機に割り当てられた物理計算機の物理資源の割当量のうち仮想計算機が使用する物理資源の使用量を測定する。そして、物理資源の使用量と、仮想計算機に割り当てられた物理資源の割当量との比較結果を設定値に含まれる判定閾値と比較する。そして、仮想計算機に割り当てられた物理計算機の物理資源にかかる負荷を判定する。そして、負荷の判定結果に応じて、仮想計算機に割り当てられた物理資源の割当量を設定値に含まれる増減単位だけ増減する。
開示技術の一つの態様によれば、時々刻々と変化する仮想計算機が使用する物理資源の使用量に追従して仮想計算機に割り当てる物理資源の割当量を最適化できるという効果を奏する。
図1は、実施例1にかかる仮想計算機システムの構成を示す機能ブロック図である。 図2は、実施例2にかかる仮想コンピュータシステムの概要を示す図である。 図3は、実施例2にかかるメモリ割当量増減処理およびメモリ使用量測定処理の概要を示すフローチャートである。 図4は、実施例2にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。 図5は、実施例2にかかる設定ファイルを示す図である。 図6は、実施例2にかかる使用メモリ測定テーブルを示す図である。 図7は、実施例2にかかるメモリ負荷判定テーブルを示す図である。 図8は、実施例2にかかるメモリ使用量測定処理を示すフローチャートである。 図9は、実施例2にかかるメモリ割当量増減処理を示すフローチャートである。 図10は、実施例3にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。 図11は、実施例3にかかる設定ファイルを示す図である。 図12は、実施例3にかかる使用メモリ測定テーブルを示す図である。 図13は、実施例3にかかるアプリケーションテーブルを示す図である。 図14は、実施例3にかかるプロセス情報を示す図である。 図15は、実施例3にかかるメモリ使用量測定処理を示すフローチャートである。 図16は、実施例3にかかる業務パターン情報取得処理を示すフローチャートである。 図17は、実施例3にかかるメモリ割当量増減処理を示すフローチャートである。
以下に、開示技術にかかる仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により開示技術が限定されるものではない。
[実施例1にかかる仮想計算機システムの構成]
図1は、実施例1にかかる仮想計算機システムの構成を示す機能ブロック図である。実施例1にかかる仮想計算機システム100は、物理計算機の各物理資源を論理的に分割した仮想計算機が物理計算機上でそれぞれ独立したコンピュータとして動作するシステムである。なお、物理計算機とは、一つのコンピュータを一つのハードウェアとして捉えた概念であり、物理マシンとも呼ばれる。
実施例1にかかる仮想計算機システム100は、一つの物理計算機である。仮想計算機システム100は、仮想計算機システム100において稼働する管理OS(Operating System)の制御の下で機能する物理資源割当管理部101を有する。
また、仮想計算機システム100は、物理計算機を論理的に分割してそれぞれが独立に動作する仮想計算機121−1〜121−nを管理する仮想計算機管理部111を有する。仮想計算機121−1〜121−nは、管理OSによって制御される。なお、仮想計算機121−1〜121−nは、管理OSの代わりに、後述する仮想マシンモニタによって制御されてもよい。また、仮想計算機管理部111は、物理計算機の物理資源112を管理する。
ここで、物理資源112は、物理計算機が有する各種ハードウェアを指す。各種ハードウェアは、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、MCU(Micro Control Unit)などの制御装置を含む。また、各種ハードウェアは、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュ・メモリ(Flash Memory)などの半導体メモリ素子を含む。また、各種ハードウェアは、磁気ディスク、光ディスク、光磁気ディスクなどの記憶装置を含む。なお、実施例1において、物理資源112は、RAMである。従って、以下では、物理資源112の量を示す単位は、[Byte]である。
仮想計算機管理部111は、仮想計算機システム100において動作する、例えば仮想マシンモニタと呼ばれるソフトウェアである。仮想計算機管理部111は、物理資源112を予め定められた値に従って仮想計算機121−1〜121−nそれぞれに割り当てる。仮想計算機121−1〜121−nは、仮想計算機管理部111によって物理資源112が割り当てられることによって、物理計算機からそれぞれ分離されて独立した論理的な計算機として動作する。
なお、仮想計算機管理部111は、仮想計算機121−1〜121−nそれぞれに割当てた物理資源112の割当量(以下、「物理資源割当量」という)を常に監視している。また、仮想計算機管理部111は、仮想計算機121−1〜121−nそれぞれが実際に使用している物理資源112の使用量(以下、「物理資源使用量」という)を常に監視している。
物理資源割当管理部101は、物理資源使用量測定部102と、物理資源使用率算出部103と、物理資源割当量増減部104と、設定ファイル106が格納される記憶部105とを有する。物理資源割当管理部101は、物理資源使用量測定部102、物理資源使用率算出部103、物理資源割当量増減部104の順序で、各機能部が担う処理を繰り返し実行させる制御部として機能する。
なお、設定ファイル106には、後述するように、少なくとも、仮想計算機121−1〜121−nがそれぞれ使用する物理資源112の使用率(以下、「物理資源使用率」という)と比較する比較閾値[%]が設定されている。物理資源使用率は、仮想計算機121−1〜121−nの物理資源使用量を物理資源割当容量でそれぞれ除した値の百分率である。
また、設定ファイル106には、後述するように、少なくとも、仮想計算機121−1〜121−nへの物理資源割当量を増減するときの単位量を示す増減単位[Byte]が設定されている。なお、物理資源割当管理部101は、仮想計算機を制御する全ての処理に先立ち、設定ファイル106から、前述の比較閾値および増減単位を読み込む。
物理資源使用量測定部102は、仮想計算機121−1〜121−nの物理資源割当量のうちの、仮想計算機121−1〜121−nの物理資源使用量を仮想計算機ごとに測定する。具体的には、物理資源使用量測定部102は、仮想計算機管理部111から仮想計算機121−1〜121−nの物理資源使用量を取得する。
物理資源使用率算出部103は、仮想計算機121−1〜121−nの物理資源使用量を仮想計算機121−1〜121−nの物理資源割当量で除した百分率を仮想計算機ごとに算出する。
具体的には、物理資源使用率算出部103は、仮想計算機管理部111から仮想計算機121−1〜121−n物理資源割当量を取得する。また、物理資源使用率算出部103は、物理資源使用量測定部102から仮想計算機121−1〜121−nの物理資源使用量を取得する。そして、物理資源使用率算出部103は、仮想計算機ごとに物理資源使用量を物理資源割当量で除した百分率を物理資源使用率として算出する。
物理資源割当量増減部104は、物理資源使用率算出部103が算出した仮想計算機ごとの物理資源使用率と、設定ファイル106から読出した比較閾値とを比較する。そして、物理資源割当量増減部104は、物理資源使用率と比較閾値との比較結果に応じて、設定ファイル106から読出した増減単位だけ、該当する仮想計算機への物理資源割当量を増減する。
なお、物理資源割当量増減部104は、例えば前述の比較閾値が上限値および下限値の組み合わせである場合に、物理資源112の使用率が下限値を下回るとき、該当仮想計算機への物理資源112の割当量を前述の増減単位だけ減少させる。また、物理資源割当量増減部104は、例えば物理資源112の使用率が上限値を上回るとき、該当仮想計算機への物理資源112の割当量を前述の増減単位だけ増加させる。
上述してきたように、実施例1では、仮想計算機に割当てられた物理資源112のそれぞれの物理資源使用率に応じて該当する仮想計算機への物理資源の割当量を増減単位だけ増減することを繰り返す。よって、時々刻々と変化する仮想計算機の物理資源使用量に追従して割当量を最適化できる。また、有限である物理資源112を各仮想計算機に効率的に割り当てることができる。また、各仮想計算機への物理資源割当量を常に最適化するので、各仮想計算機を効率的に動作させることができる。
[実施例2にかかる仮想コンピュータシステムの概略構成]
図2は、実施例2にかかる仮想コンピュータシステムの概要を示す図である。実施例2にかかる仮想コンピュータシステム100aは、仮想コンピュータシステム100a上で動作する管理OS121a、仮想計算機(以下、「VM(Virtual Machine)」と略記する)121a1、VM121a2、および、仮想マシンモニタ111aを含む。また、仮想コンピュータシステム100aは、RAMである1G[Byte]の物理メモリ112aを備える。なお、仮想マシンとは、仮想計算機を指す。
管理OS121aは、管理OS121a上で動作するソフトウェアである仮想マシン管理デーモン101a1と、設定ファイル106aとを含む。仮想マシン管理デーモン101a1は、VM121a1およびVM121a2を制御する全ての処理に先立ち、設定ファイル106aに設定されている各種設定値を読み込む。
各種設定値は、管理OS121a、VM121a1、VM121a2がそれぞれ使用する物理メモリ112aの使用率(以下、「メモリ使用率」という)と比較する「比較閾値[%]」が含まれる。メモリ使用率は、管理OS121a、VM121a1、VM121a2が使用している物理メモリ112aの使用量(以下、「メモリ使用量」という)を各々に割当てられている物理メモリ112aの割当量(以下、「メモリ割当量」という)で除した百分率である。
なお、「比較閾値」は、メモリ使用率の「上限値」および「下限値」の組み合わせである。また、各種設定値は、管理OS121a、VM121a1、VM121a2へのメモリ割当量を増減するときの単位量を示す「増減単位[Byte]」を含む。
仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2のメモリ使用量を取得する。図2示す例では、管理OS121a1、VM121a1、VM121a2のメモリ使用量は、それぞれ192M[Byte]、192M[Byte]、256M[Byte]である。
また、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2に割当てられているメモリ割当量を取得する。図2示す例では、1G[Byte]の物理メモリ112aが論理的に分割され、管理OS121a1、VM121a1、VM121a2にそれぞれ256M[Byte]、512M[Byte]、256M[Byte]だけ割当てられている。
なお、仮想マシンモニタ111aは、管理OS121a1、VM121a1、VM121a2への物理メモリ112aの割当てを管理し、かつ、管理OS121a1、VM121a1、VM121a2のメモリ使用量を管理する。よって、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2へのメモリ割当量を取得できる。また、同様に、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2のメモリ使用量を取得できる。
仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2へのメモリ割当量を取得する。また、仮想マシン管理デーモン101a1は、仮想マシンモニタ111aから、管理OS121a1、VM121a1、VM121a2のメモリ使用量を定期的に繰り返して取得し、後述のメモリ測定テーブル107aに格納する。そして、仮想マシン管理デーモン101a1は、定期的に取得してメモリ測定テーブル107aに格納したメモリ使用量の平均を算出する。実施例2では、メモリ使用率を算出する際に用いるメモリ使用量は、メモリ使用量の測定回数にわたるメモリ使用量の平均である。
そして、仮想マシン管理デーモン101a1は、管理OS121a1、VM121a1、VM121a2それぞれのメモリ使用率を算出する。さらに、仮想マシン管理デーモン101a1は、前述のメモリ使用率と、前述の比較閾値の「上限値」および「下限値」との比較結果に応じて、「増減単位」だけ管理OS121a1、VM121a1、VM121a2へのメモリ割当量を増減する。
VM121a1上で動作するアプリケーション監視プロセス122a1、VM121a2上で動作するアプリケーション監視プロセス122a2は、VM121a1、VM121a2それぞれにおいて実行されるソフトウェア・プロセスをプロセス情報で管理する。
[実施例2にかかるメモリ割当量増減処理およびメモリ使用量測定処理の概要]
図3は、実施例2にかかるメモリ割当量増減処理およびメモリ使用量測定処理の概要を示すフローチャートである。同図に示すように、先ず、仮想マシン管理デーモン101a1は、設定ファイル106aから各種設定値を読み込む(ステップS11)。各種設定値は、少なくとも、メモリ使用率の「上限値」および「下限値」、「メモリ割当量」を増減するときの単位量を示す「増減単位」、後述のメモリ割当量増減処理および後述の使用量測定処理における処理待ち時間を含む。
続いて、仮想マシン管理デーモン101a1は、メモリ割当量増減処理に移り、一定時間処理を待ち合わせる(ステップS12)。続いて、仮想マシン管理デーモン101a1は、VMごとのメモリ情報を取得し、メモリ負荷判定テーブル108aに格納する(ステップS13)。VMのメモリ情報は、各VMに割当てられているメモリ割当量およびメモリ使用率である。メモリ使用率は、仮想マシン管理デーモン101a1によって、メモリ測定テーブル107aに格納されているVMごとのメモリ使用量の平均をメモリ割当量で除した百分率として算出される。
続いて、仮想マシン管理デーモン101a1は、メモリ負荷の判定をおこなう(ステップS14)。具体的には、仮想マシン管理デーモン101a1は、メモリ負荷判定テーブル108aに格納されているVMごとのメモリ使用率をメモリ使用率の「上限値」および「下限値」と比較する。
続いて、仮想マシン管理デーモン101a1は、メモリ負荷の判定結果に応じて、各VMへのメモリ割当量を「増減単位」だけ増減する。具体的には、仮想マシン管理デーモン101a1は、メモリ使用率がメモリ使用率の「下限値」を下回る場合には、該当VMへのメモリ割当量を「増減単位」だけ減少させる。また、仮想マシン管理デーモン101a1は、メモリ使用率がメモリ使用率の「上限値」を上回る場合には、該当VMへのメモリ割当量を「増減単位」だけ増加させる。
続いて、仮想マシン管理デーモン101a1は、処理を終了するか否かを判定する(ステップS16)。仮想マシン管理デーモン101a1の終了や仮想コンピュータシステム100aの電源断や管理OS121aの終了などがあった場合には(ステップS16肯定)、メモリ割当量増減処理およびメモリ使用量測定処理は終了する。ステップS16が否定の場合には、ステップS12へ移り、ステップS12〜ステップS16の処理を繰り返す。
ステップS12〜ステップS16の一方で、仮想マシン管理デーモン101a1は、メモリ使用量測定処理に移り、一定時間処理を待ち合わせる(ステップS17)。続いて、仮想マシン管理デーモン101a1は、VMごとのメモリ使用量を取得する(ステップS18)。
続いて、仮想マシン管理デーモン101a1は、メモリ測定テーブル107aに格納される前回測定までのVMごとのメモリ使用量の平均と、ステップS18で今回測定したメモリ使用量とに基づき、VMごとのメモリ使用量の平均を算出する(ステップS19)。続いて、仮想マシン管理デーモン101a1は、ステップS19で算出した今回測定のVMごとのメモリ使用量の平均でメモリ測定テーブル107aに格納される前回測定までのメモリ使用量の平均を更新する(ステップS20)。
続いて、仮想マシン管理デーモン101a1は、処理を終了するか否かを判定する(ステップS21)。仮想マシン管理デーモン101a1の終了や仮想コンピュータシステム100aの電源断や管理OS121aの終了などがあった場合には(ステップS21肯定)、メモリ割当量増減処理およびメモリ使用量測定処理は終了する。ステップS21が否定の場合には、ステップS17へ移り、ステップS17〜ステップS21の処理を繰り返す。
上述したように、仮想マシン管理デーモン101a1は、ステップS12〜ステップS16のメモリ割当量増減処理およびステップS17〜ステップS21のメモリ使用量測定処理をそれぞれ無限ループによって繰り返す。よって、仮想マシン管理デーモン101a1は、時々刻々と変化する各VMのメモリ使用量に追従してメモリ割当量を最適化できる。
[実施例2にかかる仮想コンピュータシステムの構成]
図4は、実施例2にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。実施例2にかかる仮想コンピュータシステム100aは、仮想コンピュータシステム100aにおいて稼働する管理OSの制御の下で機能するメモリ割当管理部101aを有する。
また、仮想コンピュータシステム100aは、仮想コンピュータシステム100aを論理的に分割してそれぞれが独立に動作するVM121a1、VM121a2を管理する仮想マシンモニタ111aを有する。また、仮想マシンモニタ111aは、仮想コンピュータシステム100aの物理メモリ112aを管理する。実施例2では、VM121a1の名称を「VM1」、VM121a2の名称を「VM2」とする。
メモリ割当管理部101aは、メモリ使用量測定部102aと、メモリ使用率算出部103aと、メモリ割当量増減部104aと、記憶部105aとを有する。メモリ割当管理部101aは、メモリ使用量測定部102a、メモリ使用率算出部103a、メモリ割当量増減部104aの順序で、各機能部が担う処理を繰り返し実行させる制御部として機能する。記憶部105aには、設定ファイル106aと、メモリ測定テーブル107aと、メモリ負荷判定テーブル108aとが格納されている。
メモリ割当管理部101aは、VMを制御する全ての処理に先立ち、設定ファイル106aから、設定値がされている各項目と対応する設定値とを読み込む。メモリ使用量測定部102aは、仮想マシンモニタ111aからVM121a1、121a2のメモリ使用量を取得することによってメモリ使用量を測定する。
メモリ使用量測定部102aは、設定ファイル106aに設定されている後述する「統計情報計測期間」の設定値に従ったスケジュールで、各VMのメモリ使用量を測定する。そして、メモリ使用量測定部102aは、測定した各VMのメモリ使用量を「統計情報計測期間」の設定値ごとにテーブルが分けられた、後述するメモリ測定テーブル107aに格納する。
具体的には、メモリ使用量測定部102aは、「統計情報計測期間」の設定値ごとのメモリ測定テーブル107aに、管理OSおよびVMごとに測定回数とともにメモリ使用量の平均を記録する。メモリ使用量測定部102aは、次の様にして管理OSおよびVMごとのメモリ使用量の平均を算出する。
メモリ使用量測定部102aは、更新前のメモリ測定テーブル107aに記録されるメモリ使用量の平均に測定回数を乗じたものに今回測定したメモリ使用量を加え、(測定回数+1)で除することによってメモリ使用量の平均を新たに算出する。そして、メモリ使用量測定部102aは、新たに算出したVMごとのメモリ使用量の平均でメモリ測定テーブル107aのメモリ使用量を更新するとともに測定回数をインクリメント(1を加算)する。
メモリ使用率算出部103aは、管理OSおよび各VMのメモリ使用量の平均をそれぞれのメモリ割当量で除した百分率を算出する。この百分率がメモリ使用率である。そして、メモリ使用率算出部103aは、管理OSおよびVMごとのメモリ使用率をメモリ割当量とともにメモリ負荷判定テーブル108aに記録する。
メモリ割当量増減部104aは、メモリ使用率算出部103aが算出してメモリ負荷判定テーブル108aに格納したVMごとのメモリ使用率と、設定ファイル106aから読出した「上限値」および「下限値」とを比較する。そして、メモリ割当量増減部104aは、メモリ使用率と「上限値」および「下限値」との比較結果に応じて、設定ファイル106aから読出した「増減単位」だけ、該当するVMへのメモリ割当量を増減する。
メモリ割当量増減部104aは、例えばメモリ使用率が「下限値」を下回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ減少させる。また、メモリ割当量増減部104aは、例えばメモリ使用率が「上限値」を上回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ増加させる。
また、メモリ割当量増減部104aは、メモリ使用率が「下限値」を下回る全VMへのメモリ割当量を「増減単位」だけ減少させた後に、メモリ使用率が「上限値」を上回る全VMへのメモリ割当量を「増減単位」だけ増加させる。これによって、あるVMで余剰とされたメモリ割当量をメモリ割当量が不足する他のVMへ効率的に追加して割り当てることができる。
さらに、メモリ割当量増減部104aは、該当VMへのメモリ割当量を減少させた後、該当VMへのメモリ割当量を増加させる前に、メモリ使用率が「上限値」を上回るVMの数に増減単位を乗じたメモリ必要量を算出する。また、物理メモリ112aの領域のうち、いずれの管理OSまたはVMにも割当てられていない物理メモリ112aのメモリ未割当量を仮想マシンモニタ111aから取得する。
そして、メモリ未割当量がメモリ必要量を下回る場合には、メモリ割当量増減部104aは、メモリ未割当量をメモリ使用率が「上限値」を上回るVMの数で除した値へ、「増減単位」を変更する。これによって、メモリ割当量が不足する全てのVMに対して設定ファイル106aに設定される「増減単位」だけ追加して割り当てることができない場合でも、メモリ割当量が不足する全てのVMへメモリ割当量を追加して割り当てることができる。
[実施例2にかかる設定ファイルについて]
図5は、実施例2にかかる設定ファイルを示す図である。実施例2にかかる設定ファイル106aは、「増減単位」、「測定時間間隔」、「変更時間間隔」、「上限値」、「下限値」の各項目を含む。そして、設定ファイル106aにおいて、各項目に対して、例えば「5M[Byte]」、「10秒」、「10秒」、「80%」、「40%」の設定値がそれぞれ対応付けられている。
また、設定ファイル106aは、統計情報計測期間の項目をさらに含む。そして、設定ファイル106aにおいて、「統計情報計測期間」に対して、例えば「mon.00:00:00/mon.11:59:59」、「mon.12:00:00/mon.23:59:59」〜「sun.00:00:00/sun.11:59:59」、「sun.12:00:00/sun.23:59:59」の設定値が対応付けられている。「mon.00:00:00/mon.11:59:59」とは、月曜日の時刻「00:00:00」から月曜日の時刻「11:59:59」までの期間を示す。
「mon.」、「tue.」、「wed.」、「thu.」、「fri.」、「sat.」、「sun.」は、それぞれ「月曜日」、「火曜日」、「水曜日」、「木曜日」、「金曜日」、「土曜日」、「日曜日」を示す。すなわち、設定ファイル106aには、月曜日から日曜日までの毎日の、「00:00:00」から「11:59:59」まで、および、「12:00:00」から「23:59:59」までが統計情報計測期間として設定されている。なお、設定ファイル106aに設定される各設定値は、仮想コンピュータシステム100aの管理者によって任意に設定される。
[実施例2にかかる使用メモリ測定テーブルについて]
図6は、実施例2にかかる使用メモリ測定テーブルを示す図である。実施例2にかかるメモリ測定テーブル107aは、「統計情報計測期間」ごとにテーブルが分けられている。また、「統計情報計測期間」ごとの各メモリ測定テーブル107aは、管理OSおよびVMごとに「測定回数」および「メモリ使用量」が記録されている。
実施例2にかかるメモリ測定テーブル107aにおいて、「測定回数」は、メモリ割当管理部101aによって各VMが使用するメモリ使用量が測定されるごとにインクリメントされる。また、メモリ測定テーブル107aにおいて、「メモリ使用量」は、「測定回数」分だけ測定された各VMが使用するメモリ使用量の平均である。
すなわち、メモリ使用量は、前回測定までのVMごとのメモリ使用量の平均である「メモリ使用量」および「測定回数」と、今回測定されたメモリ使用量とに基づき算出される。具体的には、メモリ使用量は、更新前のメモリ測定テーブル107aに記録される「メモリ使用量」に「測定回数」を乗じたものに今回測定したメモリ使用量を加え、(測定回数+1)で除することによって算出される。そして、新たに算出されたVMごとのメモリ使用量の平均でメモリ測定テーブル107aの「メモリ使用量」が更新されるとともに「測定回数」がインクリメントされる。
例えば図6の(6A)に示すように、「統計情報計測期間」が「mon.00:00:00/mon.11:59:59」、すなわち「月曜日AM」である場合には、VM1の「測定回数」は「20」であり、「メモリ使用量」、すなわち「20」回の測定回にわたるメモリ使用量の平均は「256M[Byte]」である。
例えば、「月曜日AM」にVM1のメモリ使用量を新たに測定した結果が192M[Byte]である場合には、「(256M[Byte]×20[回]+192[Byte])÷21[回]」の計算をおこなう。この計算結果によって、新たなメモリ使用量の平均は、小数点以下四捨五入により「253[Byte]」になる。そして、メモリ測定テーブル107aの「メモリ使用量」を「253[Byte]」で更新し、「測定回数」をインクリメントして「21」とする。
[メモリ負荷判定テーブルについて]
図7は、実施例2にかかるメモリ負荷判定テーブルを示す図である。実施例2にかかるメモリ負荷判定テーブル108aは、管理OSおよびVMの名称にメモリ割当量と、メモリ使用率とを対応付けて記録する。同図によれば、例えばVM1は、メモリ割当量が「512M[Byte]」であり、メモリ使用率が「50.0%」である。
[実施例2にかかるメモリ使用量測定処理]
図8は、実施例2にかかるメモリ使用量測定処理を示すフローチャートである。なお、メモリ使用量測定処理に先立って、メモリ割当管理部101aは、設定ファイル106aから各設定値を読み込んでおく。
先ず、メモリ使用量測定部102aは、仮想マシンモニタ111aより起動中の全てのVMを特定する情報を取得する(ステップS101)。続いて、メモリ使用量測定部102aは、現在日時として仮想コンピュータシステム100aのシステム日時を取得し、該当する日時を「統計情報計測期間」に含むメモリ測定テーブル107aを特定する(ステップS102)。
続いて、メモリ使用量測定部102aは、ステップS102で特定されたメモリ測定テーブル107aに未起動のVMのレコードが存在するか否かを判定する(ステップS103)。メモリ測定テーブル107aに未起動のVMのレコードが存在すると判定された場合には(ステップS103肯定)、ステップS104に移り、未起動のVMのレコードが存在すると判定されなかった場合には(ステップS103否定)、ステップS105へ移る。
ステップS104では、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aから未起動のVMのレコードを削除する。続いて、メモリ使用量測定部102aは、仮想コンピュータシステム100a上で稼働中の各VMのメモリ使用量を仮想マシンモニタ111aより取得する(ステップS105)。
続いて、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aにステップS105でメモリ使用量を測定したVMに対応するレコードが存在するか否かを判定する(ステップS106)。メモリ使用量を測定したVMに対応するレコードが存在すると判定された場合には(ステップS106肯定)、ステップS107へ移り、対応するレコードが存在すると判定されなかった場合には(ステップS106否定)、ステップS110へ移る。
ステップS107では、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aの該当するVMに対応付けられた「測定回数」および「メモリ使用量」を読み込む。続いて、メモリ使用量測定部102aは、ステップS107で読み込んだ測定回数およびメモリ使用量の積と、ステップS105で取得した該当VMのメモリ使用量との和を測定回数に1を加えた値で除してメモリ使用量の平均を算出する(ステップS108)。
続いて、メモリ使用量測定部102aは、ステップS108で算出したメモリ使用量の平均で、該当するメモリ測定テーブル107aの該当するVMに対応付けられた「メモリ使用量」を更新する。そして、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aの該当するVMに対応付けられた「測定回数」をインクリメントして更新する(以上、ステップS109)。ステップS109が終了すると、ステップS111へ移る。
一方、ステップS110では、メモリ使用量測定部102aは、該当するメモリ測定テーブル107aに該当するVMのレコードを追加する。ステップS110が終了すると、ステップS107へ移る。
ステップS111では、メモリ使用量測定部102aは、起動中の全てのVMについてメモリ使用量を測定したか否かを判定する。起動中の全てのVMについてメモリ使用量を測定したと判定された場合には(ステップS111肯定)、ステップS112へ移り、全てのVMについてメモリ使用量を測定したと判定されなかった場合には(ステップS111否定)、ステップS105へ移る。
ステップS112では、メモリ使用量測定部102aは、設定ファイル106aから読み込んだ「測定時間間隔」の設定値の時間だけ処理を待ち合わせる。続いて、メモリ使用量測定部102aは、メモリ使用量測定処理を終了するか否かを判定する(ステップS113)。メモリ使用量測定処理を終了すると判定された場合には(ステップS113肯定)、メモリ使用量測定部102aは、メモリ使用量測定処理を終了する。また、メモリ使用量測定処理を終了すると判定されなかった合には(ステップS113否定)、ステップS101へ移る。
[実施例2にかかるメモリ割当量増減処理]
図9は、実施例2にかかるメモリ割当量増減処理を示すフローチャートである。なお、メモリ割当量増減処理に先立って、メモリ割当管理部101aは、設定ファイル106aから各設定値を読み込んでおく。
先ず、メモリ使用率算出部103aは、設定ファイル106aから読み込んだ「変更時間間隔」だけ処理を待ち合わせる(ステップS121)。続いて、メモリ使用率算出部103aは、メモリ負荷判定テーブル108aを初期化する(ステップS122)。続いて、メモリ使用率算出部103aは、現在日時として仮想コンピュータシステム100aのシステム日時を取得し、該当する日時を「統計情報計測期間」に含むメモリ測定テーブル107aを特定する(ステップS122)。
続いて、メモリ使用率算出部103aは、仮想マシンモニタ111aより起動中のVMのメモリ割当量を取得する(ステップS124)。続いて、メモリ使用率算出部103aは、メモリ測定テーブル107aよりステップS124でメモリ割当量を取得したVMのメモリ使用量を取得する(ステップS125)。
続いて、メモリ使用率算出部103aは、ステップS125で取得したVMのメモリ使用量をステップS124で取得したメモリ割当量で除することよって算出されるメモリ使用率をVM名とともにメモリ負荷判定テーブル108aに記録する(ステップS126)。続いて、メモリ使用率算出部103aは、メモリ測定テーブル107bの全てのVMに対して、メモリ使用率をVM名とともにメモリ負荷判定テーブル108aに記録したか否かを判定する(ステップS127)。
メモリ測定テーブル107bの全てのVMに対して、メモリ使用率をメモリ負荷判定テーブル108aに記録したと判定された場合には(ステップS127肯定)、ステップS128へ移る。また、メモリ測定テーブル107bの全てのVMに対して、メモリ使用率をメモリ負荷判定テーブル108aに記録したと判定されなかった場合には(ステップS127否定)、ステップS124へ移る。
ステップS128では、メモリ割当量増減部104aは、メモリ負荷判定テーブル108aに記録されているVMのメモリ使用率が、設定ファイル106aから読み込んだ「下限値」を下回るか否かを判定する。該当VMのメモリ使用率が「下限値」を下回ると判定された場合には(ステップS128肯定)、ステップS129へ移り、該当VMのメモリ使用率が「下限値」を下回ると判定されなかった場合には(ステップS128否定)、ステップS130へ移る。
ステップS129では、メモリ割当量増減部104aは、該当VMのメモリ割当量を設定ファイル106aから読み込んだ「増減単位」だけ減少させる。続いて、メモリ割当量増減部104aは、起動中の全てのVMについて、ステップS128のメモリ使用率の下限値判定をおこなったか否かを判定する(ステップS130)。
起動中の全てのVMについて、ステップS128のメモリ使用率の下限値判定をおこなったと判定された場合には(ステップS130肯定)、ステップS131へ移る。また、起動中の全てのVMについて、ステップS128のメモリ使用率の下限値判定をおこなったと判定されなかった場合には(ステップS130否定)、ステップS128へ移る。
ステップS131では、メモリ割当量増減部104aは、仮想マシンモニタ111aより、物理メモリ112aの全容量のうち、いずれの管理OSまたはVMにも割当てられていないメモリ容量をメモリ未割当量として取得する。続いて、メモリ使用率算出部103aは、メモリ負荷判定テーブル108aを参照し、メモリ使用率が「上限値」を超えるVMの数を取得する(ステップS132)。
続いて、メモリ割当量増減部104aは、設定ファイル106aから読み込んだ「増減単位」にステップS132で取得したVMの数を乗じてメモリ必要量を算出する(ステップS133)。続いて、メモリ割当量増減部104aは、ステップS131で取得したメモリ未割当量がステップS133で算出したメモリ必要量を下回るか否かを判定する(ステップS134)。
メモリ未割当量がメモリ必要量を下回ると判定された場合には(ステップS134肯定)、ステップS135へ移り、メモリ未割当量がメモリ必要量を下回ると判定されなかった場合には(ステップS134否定)、ステップS136へ移る。
ステップS135では、メモリ割当量増減部104aは、設定ファイル106aから読み込んだ「増減単位」をステップS131で取得したメモリ未割当量をステップS132で取得したVMの数で除した値へ変更する。
続いて、メモリ割当量増減部104aは、メモリ負荷判定テーブル108aに記録されているVMのメモリ使用率が、設定ファイル106aから読み込んだ「上限値」を上回るか否かを判定する。該当VMのメモリ使用率が「上限値」を上回ると判定された場合には(ステップS136肯定)、ステップS137へ移り、該当VMのメモリ使用率が「上限値」を上回ると判定されなかった場合には(ステップS136否定)、ステップS138へ移る。
ステップS137では、メモリ割当量増減部104aは、該当VMのメモリ割当量を設定ファイル106aから読み込んだ「増減単位」またはステップS135で変更された「増減単位」だけ増加させる。続いて、メモリ割当量増減部104aは、起動中の全てのVMについて、ステップS136のメモリ使用率の上限値判定をおこなったか否かを判定する(ステップS138)。
起動中の全てのVMについて、ステップS136のメモリ使用率の上限値判定をおこなったと判定された場合には(ステップS138肯定)、ステップS139へ移る。また、起動中の全てのVMについて、ステップS136のメモリ使用率の上限値判定をおこなったと判定されなかった場合には(ステップS138否定)、ステップS136へ移る。
続いて、メモリ割当量増減部104aは、メモリ割当量増減処理を終了するか否かを判定する(ステップS139)。メモリ割当量増減処理を終了すると判定された場合には(ステップS139肯定)、メモリ割当量増減部104aは、メモリ割当量増減処理を終了する。また、メモリ割当量増減処理を終了すると判定されなかった合には(ステップS139否定)、ステップS121へ移る。
[実施例2による効果]
実施例2では、メモリ使用量測定部102aがメモリ使用量測定処理を繰り返し、メモリ使用率算出部103aおよびメモリ割当量増減部104aがメモリ割当量増減処理を繰り返す。メモリ割当量増減処理では、メモリ使用率に応じて「増減単位」だけメモリ割当量を増減させる。「増減単位」は、物理メモリ112aの全容量(例えば1G[Byte])と比較して小さい(例えば5M[Byte])。よって、メモリ割当管理部101aは、時々刻々と変化する各VMの物理メモリ112aの使用量にきめ細かく追従してメモリ割当量を最適化できる。
また、有限である物理メモリ112aを各VMに効率的に割り当てることができる。また、各VMへのメモリ割当量を常に最適化するので、各VMを効率的に動作させることができる。また、メモリ負荷の判定に用いるメモリ使用率の算出の際に、継続して測定したメモリ使用量の平均を用いるので、事前にメモリ使用量の傾向を与えずとも各VMへのメモリ割当量を最適化できる。
また、メモリ使用率の算出の際に、メモリ使用量の平均などの統計情報を用いることで、例外的に異常なメモリ使用量の影響が極力抑制されるので、算出されたメモリ使用率の信頼性を高めることができる。
また、業務アプリケーションの負荷状態により絶えずメモリ使用率が変化する仮想コンピュータシステムにおいて、仮想コンピュータシステムの管理者の監視や指示を必要とせず、自動的に各VMへのメモリ割当量を最適化することができる。
[実施例3にかかる仮想コンピュータシステムの構成]
図10は、実施例3にかかる仮想コンピュータシステムの構成を示す機能ブロック図である。なお、実施例3では、実施例2との差異部分について説明する。実施例2および実施例3で同一の符号およびステップ番号を付与した機能部およびステップは、同一の機能部およびステップである。
実施例3にかかる仮想コンピュータシステム100bは、仮想コンピュータシステム100bにおいて稼働する管理OSの制御の下で機能するメモリ割当管理部101bを有する。
また、仮想コンピュータシステム100bは、仮想コンピュータシステム100bを論理的に分割してそれぞれが独立に動作するVM121b1、121b2を管理する仮想マシンモニタ111aを有する。また、仮想マシンモニタ111aは、仮想コンピュータシステム100aの物理メモリ112aを管理する。実施例3では、VM121b1の名称を「VM1」、VM121b2の名称を「VM2」とする。
メモリ割当管理部101bは、メモリ使用量測定部102bと、メモリ使用率算出部103bと、メモリ割当量増減部104bと、記憶部105bとを有する。メモリ割当管理部101bは、メモリ使用量測定部102b、メモリ使用率算出部103b、メモリ割当量増減部104bの順序で、各機能部が担う処理を繰り返し実行させる制御部として機能する。記憶部105bには、設定ファイル106bと、メモリ測定テーブル107bと、メモリ負荷判定テーブル108bと、アプリケーションテーブル109bとが格納されている。
メモリ割当管理部101bは、VMを制御する全ての処理に先立ち、設定ファイル106bから、設定値がされている各項目と対応する設定値とを読み込む。メモリ使用量測定部102bは、仮想マシンモニタ111aによってVM121b1、121b2のメモリ使用量をVMごとに測定する。
メモリ使用量測定部102bは、設定ファイル106bに設定されている後述する「業務アプリ名」の業務アプリケーションうち、各VM上で実行中の「業務アプリケーションの組み合わせ」ごとに各VMが使用するメモリ使用量を測定する。そして、メモリ使用量測定部102bは、測定した各VMのメモリ使用量を管理OSおよびVMごとにテーブルが分けられた、後述するメモリ測定テーブル107bに格納する。
具体的には、メモリ使用量測定部102bは、管理OSおよびVMごとのメモリ測定テーブル107bに、「業務アプリケーションの組み合わせ」ごとに測定回数とともにメモリ使用量の平均を記録する。なお、メモリ使用量測定部102bは、実施例2のメモリ使用量測定部102aと同様にして、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用量の平均を算出する。そして、メモリ使用量測定部102bは、新たに算出したVMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用量の平均でメモリ測定テーブル107bのメモリ使用量を更新するとともに測定回数をインクリメントする。
メモリ使用率算出部103bは、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用量の平均を管理OSおよび各VMのメモリ割当量で除した百分率を算出する。この百分率がメモリ使用率である。そして、メモリ使用率算出部103bは、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用率を各メモリ割当量とともにメモリ負荷判定テーブル108aに記録する。
メモリ割当量増減部104bは、VMごと、かつ、「業務アプリケーションの組み合わせ」ごとのメモリ使用率と、設定ファイル106bから読出した「上限値」および「下限値」とを比較する。そして、メモリ割当量増減部104bは、メモリ使用率と「上限値」および「下限値」との比較結果に応じて、設定ファイル106bから読出した「増減単位」だけ、該当するVMへのメモリ割当量を増減する。
メモリ割当量増減部104bは、例えばメモリ使用率が「下限値」を下回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ減少させる。また、メモリ割当量増減部104aは、例えばメモリ使用率が「上限値」を上回るとき、該当VMへのメモリ割当量を「増減単位」の「5M[Byte]」だけ増加させる。
また、メモリ割当量増減部104bは、メモリ使用率が「下限値」を下回る全てのVMへのメモリ割当量を「増減単位」だけ減少させた後に、メモリ使用率が「上限値」を上回る全てのVMへのメモリ割当量を「増減単位」だけ増加させる。これによって、あるVMで、ある業務アプリケーションが実行中であるときに余剰とされたメモリ割当量をメモリ割当量が不足する他のVMへ効率的に追加して割り当てることができる。
さらに、メモリ割当量増減部104bは、該当VMへのメモリ割当量を減少させた後、該当VMへのメモリ割当量を増加させる前に、メモリ使用率が「上限値」を上回るVMの数に「増減単位」を乗じてメモリ必要量を算出する。また、物理メモリ112aの領域のうち、いずれの管理OSまたはVMにも割当てられていない物理メモリ112aのメモリ未割当量を仮想マシンモニタ111aから取得する。
そして、メモリ未割当量がメモリ必要量を下回る場合には、メモリ割当量増減部104bは、メモリ未割当量をメモリ使用率が「上限値」を上回るVMの数で除した値へ「増減単位」を変更する。これによって、メモリ割当量が不足する全てのVMに対して設定ファイル106bに設定される「増減単位」だけ追加して割り当てることができない場合でも、メモリ割当量が不足するVMへメモリ割当量を追加して割り当てることができる。
また、仮想コンピュータシステム100bにおいて稼働中のVM121b1、VM121b2は、それぞれアプリケーション監視部123b1、アプリケーション監視部123b2を含む。アプリケーション監視部123b1、アプリケーション監視部123b2は、VM121b1、VM121b2それぞれで実行中の業務アプリケーションのプロセスを特定するプロセス情報124b1、プロセス情報124b2を管理している。
[実施例3にかかる設定ファイルについて]
図11は、実施例3にかかる設定ファイルを示す図である。実施例3にかかる設定ファイル106bは、「増減単位」、「測定時間間隔」、「変更時間間隔」、「上限値」、「下限値」の各項目を含む。そして、設定ファイル106bにおいて、各項目に対して、例えば「5M[Byte]」、「10秒」、「10秒」、「80%」、「40%」の設定値がそれぞれ対応付けられている。
また、設定ファイル106bは、「業務アプリ名」の項目をさらに含む。なお、「アプリ」とは、アプリケーションの省略形である。「業務アプリ名」の項目値は、各VMで実行されうる業務アプリケーションを特定する情報である。そして、設定ファイル106bにおいて、「業務アプリ名」に対して、例えば「アプリA」、「アプリB」、「アプリC」の設定値、および、業務アプリを特定するプロセス情報が設定されている。なお、設定ファイル106bに設定される各設定値は、仮想コンピュータシステム100bの管理者によって任意に設定される。
[実施例3にかかる使用メモリ測定テーブルについて]
図12は、実施例3にかかる使用メモリ測定テーブルを示す図である。実施例3にかかるメモリ測定テーブル107bは、仮想コンピュータシステム100b上で稼働するVMごとにテーブルが分けられている。また、VMごとの各メモリ測定テーブル107bは、「業務アプリケーションの組み合わせ」ごとに「測定回数」および「メモリ使用量」が記録されている。
メモリ測定テーブル107bにおいて、「測定回数」は、メモリ割当管理部101bによって、「実行中の業務アプリケーションの組み合わせ」で各VMが使用するメモリ使用量が測定されるごとにインクリメントされる。また、メモリ測定テーブル107bにおいて、「メモリ使用量」は、「測定回数」分だけ測定された各VMにおいて、「実行中の業務アプリケーションの組み合わせ」で各VMが使用するメモリ使用量の平均である。
例えば図12の(12A)に示すように、VM1のメモリ測定テーブル107bにおいて、「実行中の業務アプリケーションの組み合わせ」である「業務アプリ名」が「アプリA」である場合には、VM1の「測定回数」は「20」であり、「メモリ使用量」、すなわち「20」回の測定回にわたるメモリ使用量の平均は「256M[Byte]」である。
例えば、「アプリA」を実行中のVM1のメモリ使用量を新たに測定した結果が192M[Byte]である場合には、「(256M[Byte]×20[回]+192[Byte])÷21[回]」の計算をおこなう。この計算結果によって、新たなメモリ使用量の平均は、小数点以下四捨五入により「253[Byte]」になる。そして、メモリ測定テーブル107bの「メモリ使用量」を「253[Byte]」で更新し、「測定回数」をインクリメントして「21」とする。
[実施例3にかかるアプリケーションテーブルについて]
図13は、実施例3にかかるアプリケーションテーブルを示す図である。実施例3にかかるアプリケーションテーブル109bは、「業務アプリ名」に「プロセス情報」を対応付けるテーブルである。そして、該当する業務アプリケーションが実行中であるか否かを示す「フラグ」を記録する。
「業務アプリ名」は、仮想コンピュータシステム100bの管理者が認識可能な業務アプリケーションの特定情報である。一方、各VMでは、「業務アプリ名」ではなく「プロセス情報」で業務アプリケーションを特定する。このため、「業務アプリ名」および「プロセス情報」の双方を認識可能なメモリ割当管理部101bが、「業務アプリ名」と「プロセス情報」との対応付けを予め作成してアプリケーションテーブル109bに記録しておく。
「フラグ」は、仮想コンピュータシステム100bの管理者が入力した「業務アプリ名」に対応する「プロセス情報」に基づき、各VMで該当する「プロセス情報」で特定される業務アプリケーションのプロセスが実行中であるか否かを示す情報である。「フラグ」が「FALSE」であれば、該当する「業務アプリ名」で特定される業務アプリケーションのプロセスは該当VMにおいても実行されていない。「フラグ」が「TRUE」であれば、該当する「業務アプリ名」で特定される業務アプリケーションのプロセスが該当VMにおいて実行されている。
[実施例3にかかるプロセス情報について]
図14は、実施例3にかかるプロセス情報を示す図である。実施例3にかかるプロセス情報124b1、124b2は、VM121b1のアプリケーション監視部123b1、VM121b2のアプリケーション監視部123b2によってそれぞれ管理される。プロセス情報124b1、124b2は、VM121b1、VM121b2それぞれにおいて実行中の業務アプリケーションのプロセスを特定する情報である。プロセス情報124b1、124b2を参照することによって、VM121b1、VM121b2それぞれにおいて実行中の業務アプリケーションのプロセス情報を取得することができる。
[実施例3にかかるメモリ使用量測定処理]
図15は、実施例3にかかるメモリ使用量測定処理を示すフローチャートである。なお、メモリ使用量測定処理に先立って、メモリ割当管理部101bは、設定ファイル106bから各設定値を読み込んでおく。
先ず、メモリ使用量測定部102bは、仮想マシンモニタ111aより起動中の全てのVMを特定する情報を取得する(ステップS201)。続いて、メモリ使用量測定部102bは、業務パターン情報取得処理をおこなう(ステップS202)。業務パターン情報取得処理は、設定ファイル106bに設定されている「業務アプリ名」を入力とし、入力された「業務アプリ名」のうち各VMで実行されている業務アプリケーションの「業務アプリ名」を出力する処理である。業務パターン情報取得処理によって出力された「業務アプリ名」の組み合わせを「業務パターン」という。業務パターン情報取得処理の詳細は、図16を参照して後述する。
続いて、メモリ使用量測定部102bは、仮想マシンモニタ111aより起動中のVMのメモリ使用量を取得する(ステップS203)。続いて、メモリ使用量測定部102bは、ステップS203でメモリ使用量を取得したVMに対応するメモリ測定テーブル107bが存在するか否かを判定する(ステップS204)。メモリ使用量を取得したVMに対応するメモリ測定テーブル107bが存在すると判定された場合には(ステップS204肯定)、ステップS206へ移る。また、メモリ使用量を取得したVMに対応するメモリ測定テーブル107bが存在すると判定されなかった場合には(ステップS204否定)、ステップS205へ移る。
ステップS205では、メモリ使用量測定部102bは、ステップS203でメモリ使用量を取得したVMに対応するメモリ測定テーブル107bを作成する。ステップS205が終了すると、ステップS206へ移る。
ステップS206では、メモリ使用量測定部102bは、ステップS202で取得した「業務パターン」に該当するレコードがメモリ測定テーブル107bに存在するか否かを判定する。「業務パターン」に該当するレコードがメモリ測定テーブル107bに存在すると判定された場合には(ステップS206肯定)、ステップS207へ移る。また、「業務パターン」に該当するレコードがメモリ測定テーブル107bに存在すると判定されなかった場合には(ステップS206否定)、ステップS210へ移る。
ステップS207では、メモリ使用量測定部102bは、該当するメモリ測定テーブル107bの該当する「業務パターン」に対応付けられた「測定回数」および「メモリ使用量」を読み込む。続いて、メモリ使用量測定部102bは、ステップS207で読み込んだ測定回数およびメモリ使用量の積と、ステップS203で取得したメモリ使用量との和を測定回数に1を加えた値で除してメモリ使用量の平均を算出する(ステップS208)。
続いて、メモリ使用量測定部102bは、ステップS208で算出したメモリ使用量の平均で該当するメモリ測定テーブル107bの該当する「業務パターン」に対応付けられた「メモリ使用量」を更新する。そして、メモリ使用量測定部102bは、該当するメモリ測定テーブル107bの該当する「業務パターン」に対応付けられた「測定回数」をインクリメントして更新する(以上、ステップS209)。ステップS209が終了すると、ステップS211へ移る。
一方、ステップS210では、メモリ使用量測定部102bは、該当するメモリ測定テーブル107bに該当する「業務パターン」のレコードを追加する。ステップS210が終了すると、ステップS207へ移る。
ステップS211では、メモリ使用量測定部102bは、起動中の全てのVMについてメモリ使用量を測定したか否かを判定する。起動中の全てのVMについてメモリ使用量を測定したと判定された場合には(ステップS211肯定)、ステップS212へ移り、全てのVMについてメモリ使用量を測定したと判定されなかった場合には(ステップS211否定)、ステップS202へ移る。
ステップS212では、メモリ使用量測定部102bは、設定ファイル106bから読み込んだ「測定時間間隔」の設定値の時間だけ処理を待ち合わせる。続いて、メモリ使用量測定部102bは、メモリ使用量測定処理を終了するか否かを判定する(ステップS213)。メモリ使用量測定処理を終了すると判定された場合には(ステップS213肯定)、メモリ使用量測定部102bは、メモリ使用量測定処理を終了する。また、メモリ使用量測定処理を終了すると判定されなかった合には(ステップS213否定)、ステップS201へ移る。
[実施例3にかかる業務パターン情報取得処理]
図16は、実施例3にかかる業務パターン情報取得処理を示すフローチャートである。同図に示すように、先ず、メモリ使用量測定部102bは、アプリケーションテーブル109bの全ての「フラグ」を「FALSE(オフ)」に初期化する(ステップS202a)。
続いて、メモリ使用量測定部102bは、該当するVMのアプリケーション監視部123bnより「プロセス情報」を取得する(ステップS202b)。続いて、メモリ使用量測定部102bは、入力された「業務アプリ名」に対応する「プロセス情報」がステップS202bで取得した「プロセス情報」に含まれるか否かを判定して、業務アプリケーションが実行中であるか否かを判定する(ステップS202c)。
入力された「業務アプリ名」に対応する業務アプリケーションが実行中であると判定された場合には(ステップS202c肯定)、ステップS202dへ移る。また、入力された「業務アプリ名」に対応する業務アプリケーションが実行中であると判定されなかった場合には(ステップS202c否定)、ステップS202eへ移る。
ステップS202dでは、メモリ使用量測定部102bは、アプリケーションテーブル109bにおいて、実行中であると判定された業務アプリケーションの「プロセス情報」に対応する「フラグ」を「TRUE(オン)」にする。
続いて、メモリ使用量測定部102bは、入力された「業務アプリ名」で特定される全ての業務アプリケーションのプロセスの実行を確認したか否かを判定する(ステップS202e)。全ての業務アプリケーションのプロセスの実行を確認したと判定された場合には(ステップS202e肯定)、ステップS202fへ移る。また、全ての業務アプリケーションのプロセスの実行を確認したと判定されなかった場合には(ステップS202e否定)、ステップS202cへ移る。
ステップS202fでは、メモリ使用量測定部102bは、アプリケーションテーブル109bにおいて「フラグ」が「TRUE」となっている全ての「業務アプリ名」を出力する。この処理が終了すると、呼び出し元の処理へ復帰する。
[実施例3にかかるメモリ割当量増減処理]
図17は、実施例3にかかるメモリ割当量増減処理を示すフローチャートである。なお、メモリ割当量増減処理に先立って、メモリ割当管理部101bは、設定ファイル106bから各設定値を読み込んでおく。
実施例3にかかるメモリ割当量増減処理では、メモリ割当量増減部104bが実施例2にかかるメモリ割当量増減処理と概ね同一順序で同一の処理をおこなう。実施例3にかかるメモリ割当量増減処理は、実施例2にかかるメモリ割当量増減処理と比較して、ステップS122の次に、ステップS123に代えてステップS223をおこなう。また、ステップS124の次にステップS125に代えてステップS225をおこなう。これら以外は、実施例2にかかるメモリ割当量増減処理と、実施例3にかかるメモリ割当量増減処理とは、同一の順序で同一の処理をおこなう。
なお、実施例3にかかるメモリ割当量増減処理では、メモリ測定テーテーブル107a、メモリ負荷判定テーブル108aに代えてメモリ測定テーテーブル107b、メモリ負荷判定テーブル108bを用いる。
ステップS223では、メモリ割当量増減部104bは、仮想マシンモニタ111aより起動中の全VMを特定する情報を取得する。また、ステップS225では、メモリ割当量増減部104bは、業務パターン情報取得処理をおこなう(ステップS202)。業務パターン情報取得処理の詳細は、図16を参照して前述した通りである。
[実施例3による効果]
実施例3は、実施例2の効果に加え、次の効果を奏する。すなわち、メモリ使用量測定部102bは、VMごと、かつ、「業務パターン」ごとにメモリ使用量を測定するので、よりきめ細かく各VMのメモリ使用量の傾向を把握することができる。この各VMのメモリ使用量の傾向に応じてメモリ割当量をよりきめ細かく最適化できる。
[その他の実施例]
VMごと、かつ、日時または「業務パターン」ごとに測定したメモリ使用量の統計情報により、仮想計算機システム全体の物理メモリの容量が不足することが予想される場合には、その旨を管理者に通知する機能を備えてもよい。これによって、仮想コンピュータシステムの管理者は、メモリ容量が不足する以前に、物理メモリの増設などの対策を講じることができ、メモリ容量の不足を未然に防止することができる。
仮想コンピュータシステム上の各VMに割り当てられたメモリの負荷をメモリ使用率と「上限値」および「下限値」とを比較判定する方法に代えて、メモリ使用量と、メモリ使用量の「上限値」および「下限値」とを比較判定する方法を採用してもよい。
以上、実施例を説明したが、開示技術は、これらに限られるものではなく、特許請求の範囲に記載した技術的思想の範囲内で、さらに種々の異なる実施例で実施されてもよい。特に、各実施例は、矛盾しない範囲で適宜組み合わせて実施可能である。また、実施例に記載した効果は、これに限定されるものではない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散または統合の具体的形態は図示のものに限られず、その全部または一部を各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
また、図示した各処理の各ステップは必ずしも図示のように実行されることを要しない。すなわち、各処理の各ステップの実行順序は図示のものに限られず、所期の目的を達成する範囲内でその全部または一部を任意の単位で前後させて実行する実行順序でもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込手順と、
前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定手順と、
前記物理資源使用量測定手順によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出手順と、
前記使用率算出手順によって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する物理資源割当量増減手順と、
前記物理資源割当量増減手順によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定手順と、前記使用率算出手順と、物理資源割当量増減手順とを順次実行する制御手順と
を実行させることを特徴とする仮想計算機割当資源管理プログラム。
(付記2)前記物理資源使用量測定手順は、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
ことを特徴とする付記1記載の仮想計算機割当資源管理プログラム。
(付記3)前記物理資源使用量測定手順は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
ことを特徴とする付記1記載の仮想計算機割当資源管理プログラム。
(付記4)前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
前記物理資源割当量増減手順は、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する
ことを特徴とする付記1、2または3記載の仮想計算機割当資源管理プログラム。
(付記5)前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記4記載の仮想計算機割当資源管理プログラム。
(付記6)前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記5記載の仮想計算機割当資源管理プログラム。
(付記7)少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込部と、
前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する測定処理をおこなう物理資源使用量測定部と、
前記物理資源使用量測定部によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する算出処理をおこなう使用率算出部と、
前記使用率算出部によって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する増減処理をおこなう物理資源割当量増減部と、
前記物理資源割当量増減部によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定部に前記測定処理を、前記使用率算出部に前記算出処理を、前記物理資源割当量増減部に前記増減処理を順次実行させる制御部と
を備えたことを特徴とする仮想計算機割当資源管理装置。
(付記8)前記物理資源使用量測定部は、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
前記使用率算出部は、前記物理資源使用量測定手順によって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
ことを特徴とする付記7記載の仮想計算機割当資源管理装置。
(付記9)前記物理資源使用量測定部は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
前記使用率算出部は、前記物理資源使用量測定部によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
ことを特徴とする付記7記載の仮想計算機割当資源管理装置。
(付記10)前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
前記物理資源割当量増減部は、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する
ことを特徴とする付記7、8または9記載の仮想計算機割当資源管理装置。
(付記11)前記物理資源割当量増減部は、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記10記載の仮想計算機割当資源管理装置。
(付記12)前記物理資源割当量増減部は、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記11記載の仮想計算機割当資源管理装置。
(付記13)仮想計算機割当資源管理装置が実行する仮想計算機割当資源管理方法であって、
少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込ステップと、
前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定ステップと、
前記物理資源使用量測定ステップによって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出ステップと、
前記使用率算出ステップによって算出された前記物理資源の使用率に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する物理資源割当量増減ステップと、
前記物理資源割当量増減ステップによって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位だけ増減された後に、前記物理資源使用量測定ステップと、前記使用率算出ステップと、物理資源割当量増減ステップとを順次実行する制御ステップと
を含むことを特徴とする仮想計算機割当資源管理方法。
(付記14)前記物理資源使用量測定ステップは、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
前記使用率算出ステップは、前記物理資源使用量測定ステップによって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
ことを特徴とする付記13記載の仮想計算機割当資源管理方法。
(付記15)前記物理資源使用量測定ステップは、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
前記使用率算出ステップは、前記物理資源使用量測定ステップによって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
ことを特徴とする付記13記載の仮想計算機割当資源管理方法。
(付記16)前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
前記物理資源割当量増減ステップは、前記物理資源の使用率と、前記物理資源の使用率の上限値および下限値とを比較した比較結果に応じて、前記仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位だけ増減する
ことを特徴とする付記13、14または15記載の仮想計算機割当資源管理方法。
(付記17)前記物理資源割当量増減ステップは、前記物理資源の使用率が前記物理資源の使用率の下限値を下回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ減少させ、前記物理資源使用率が前記物理資源の使用率の上限値を上回る場合には前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記16記載の仮想計算機割当資源管理方法。
(付記18)前記物理資源割当量増減ステップは、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位だけ増加させる
ことを特徴とする付記17記載の仮想計算機割当資源管理方法。
100、100a、100b 仮想コンピュータシステム
101 物理資源割当管理部
101a、101b メモリ割当管理部
101a1 仮想マシン管理デーモン
102 物理資源使用量測定部
103 物理資源使用率算出部
102a、102b メモリ使用量測定部
103a、103b メモリ使用率算出部
104 物理資源割当量増減部
104a、104b メモリ割当量増減部
105、105a、105b 記憶部
106、106a、106b 設定ファイル
107a、107b メモリ測定テーテーブル
108a、108b メモリ負荷判定テーブル
109b アプリケーションテーブル
111 仮想計算機管理部
111a 仮想マシンモニタ
112 物理資源
112a 物理メモリ
121a 管理OS
121a1、121a2、121b1、121b2、121−1〜121−n 仮想計算機
122a1、122a2 アプリケーション監視プロセス
123a1、123a2、123b1、123b2 アプリケーション監視部
124b1、124b2 プロセス情報

Claims (8)

  1. コンピュータに、
    少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込手順と、
    前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定手順と、
    前記物理資源使用量測定手順によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出手順と、
    前記使用率算出手順によって算出された前記物理資源の使用率を所定閾値と比較し、前記仮想計算機のうち前記使用率が所定閾値を下回る仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位に相当する量だけ減少させた後、前記仮想計算機のうち前記使用率が所定閾値を上回る仮想計算機に割り当てられた前記物理資源の割当量を、該減少させた前記増減単位に相当する量を含む前記物理資源の未割当総量のうちの前記増減単位に相当する量だけ増加させる物理資源割当量増減手順と、
    前記物理資源割当量増減手順によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位に相当する量だけ増減された後に、前記物理資源使用量測定手順と、前記使用率算出手順と、物理資源割当量増減手順とを順次実行する制御手順と
    を実行させることを特徴とする仮想計算機割当資源管理プログラム。
  2. 前記物理資源使用量測定手順は、前記設定ファイルに設定されている測定期間にわたって、前記仮想計算機ごとに前記物理資源の使用量を繰り返し測定して前記測定期間における前記物理資源の使用量の平均を算出し、
    前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記測定期間における前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごとに前記物理資源の使用率を算出する
    ことを特徴とする請求項1記載の仮想計算機割当資源管理プログラム。
  3. 前記物理資源使用量測定手順は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
    前記使用率算出手順は、前記物理資源使用量測定手順によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
    ことを特徴とする請求項1記載の仮想計算機割当資源管理プログラム。
  4. 前記設定ファイルには、前記物理資源の使用率の上限値および下限値が設定されており、
    前記物理資源割当量増減手順は、前記物理資源の使用率を上限値および下限値と比較し、前記仮想計算機のうち前記使用率が下限値を下回る仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位に相当する量だけ減少させた後、前記仮想計算機のうち前記使用率が上限値を上回る仮想計算機に割り当てられた前記物理資源の割当量を、該減少させた前記増減単位に相当する量を含む前記物理資源の未割当総量のうちの前記増減単位に相当する量だけ増加させる
    ことを特徴とする請求項1、2または3記載の仮想計算機割当資源管理プログラム。
  5. 前記物理資源割当量増減手順は、前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数に前記増減単位を乗じた必要物理資源量が、いずれの前記仮想計算機にも割り当てられていない前記物理資源の未割当量を上回る場合には、前記物理資源の未割当量を前記物理資源の使用率が前記物理資源の使用率の上限値を上回る前記仮想計算機の数で除した値へ前記増減単位を変更した後に、前記仮想計算機への前記物理資源の割当量を前記増減単位に相当する量だけ増加させる
    ことを特徴とする請求項記載の仮想計算機割当資源管理プログラム。
  6. 少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込部と、
    前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する測定処理をおこなう物理資源使用量測定部と、
    前記物理資源使用量測定部によって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する算出処理をおこなう使用率算出部と、
    前記使用率算出部によって算出された前記物理資源の使用率を所定閾値と比較し、前記仮想計算機のうち前記使用率が所定閾値を下回る仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位に相当する量だけ減少させた後、前記仮想計算機のうち前記使用率が所定閾値を上回る仮想計算機に割り当てられた前記物理資源の割当量を、該減少させた前記増減単位に相当する量を含む前記物理資源の未割当総量のうちの前記増減単位に相当する量だけ増加させる物理資源割当量増減部と、
    前記物理資源割当量増減部によって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位に相当する量だけ増減された後に、前記物理資源使用量測定部に前記測定処理を、前記使用率算出部に前記算出処理を、前記物理資源割当量増減部に前記増減処理を順次実行させる制御部と
    を備えたことを特徴とする仮想計算機割当資源管理装置。
  7. 前記物理資源使用量測定部は、前記設定ファイルに設定されているアプリケーションを特定する情報に基づいて、前記仮想計算機において稼働中の前記アプリケーションの組み合わせを取得し、前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用量を繰り返し測定して前記物理資源の使用量の平均を算出し、
    前記使用率算出部は、前記物理資源使用量測定部によって算出された前記物理資源の使用量の平均を前記仮想計算機に割り当てられた前記物理資源の割当量で除して前記仮想計算機ごと、かつ、前記アプリケーションの組み合わせごとに前記物理資源の使用率を算出する
    ことを特徴とする請求項6記載の仮想計算機割当資源管理装置。
  8. 仮想計算機割当資源管理装置が実行する仮想計算機割当資源管理方法であって、
    少なくとも仮想計算機に割り当てられた物理計算機の物理資源の割当量を増減する増減単位が設定値として設定されている設定ファイルから前記設定値を読み込む設定ファイル読込ステップと、
    前記仮想計算機に割り当てられた前記物理計算機の物理資源の割当量のうち前記仮想計算機が使用する前記物理資源の使用量を測定する物理資源使用量測定ステップと、
    前記物理資源使用量測定ステップによって測定された前記物理資源の使用量を前記仮想計算機に割り当てられた前記物理資源の割当量で除した前記物理資源の使用率を算出する使用率算出ステップと、
    前記使用率算出ステップによって算出された前記物理資源の使用率を所定閾値と比較し、前記仮想計算機のうち前記使用率が所定閾値を下回る仮想計算機に割り当てられた前記物理資源の割当量を前記増減単位に相当する量だけ減少させた後、前記仮想計算機のうち前記使用率が所定閾値を上回る仮想計算機に割り当てられた前記物理資源の割当量を、該減少させた前記増減単位に相当する量を含む前記物理資源の未割当総量のうちの前記増減単位に相当する量だけ増加させる物理資源割当量増減ステップと、
    前記物理資源割当量増減ステップによって前記仮想計算機に割り当てられた前記物理資源の割当量が前記増減単位に相当する量だけ増減された後に、前記物理資源使用量測定ステップと、前記使用率算出ステップと、物理資源割当量増減ステップとを順次実行する制御ステップと
    を含むことを特徴とする仮想計算機割当資源管理方法。
JP2009284280A 2009-12-15 2009-12-15 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法 Expired - Fee Related JP5560690B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009284280A JP5560690B2 (ja) 2009-12-15 2009-12-15 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009284280A JP5560690B2 (ja) 2009-12-15 2009-12-15 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法

Publications (2)

Publication Number Publication Date
JP2011128706A JP2011128706A (ja) 2011-06-30
JP5560690B2 true JP5560690B2 (ja) 2014-07-30

Family

ID=44291275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009284280A Expired - Fee Related JP5560690B2 (ja) 2009-12-15 2009-12-15 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法

Country Status (1)

Country Link
JP (1) JP5560690B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5444055B2 (ja) * 2010-03-16 2014-03-19 株式会社日立システムズ 仮想サーバスケールダウンシステムとスケールダウン方法およびプログラム
JP6257296B2 (ja) * 2013-12-05 2018-01-10 三菱電機株式会社 リソース配分装置、リソース配分システム、リソース配分方法及びプログラム
FR3016986A1 (fr) * 2014-01-30 2015-07-31 Orange Procede de detection d'attaques dans une architecture informatique dans le nuage
WO2016121066A1 (ja) * 2015-01-29 2016-08-04 株式会社日立製作所 ストレージシステム
WO2017213065A1 (ja) * 2016-06-09 2017-12-14 日本電気株式会社 サービス管理システム、サービス管理方法、および、記録媒体
CN109144715B (zh) 2017-06-27 2022-04-19 阿里巴巴集团控股有限公司 一种资源优化与更新的方法、服务器及设备
CN110113269B (zh) * 2019-04-28 2022-10-04 平安科技(深圳)有限公司 一种基于中间件的流量控制的方法及相关装置
CN113065884A (zh) * 2020-03-31 2021-07-02 ***通信集团贵州有限公司 一种话单文件的处理方法、装置及电子设备
CN112559130B (zh) * 2020-12-16 2024-01-19 恒生电子股份有限公司 容器分配方法、装置、电子设备及存储介质
US20220261293A1 (en) * 2021-02-16 2022-08-18 Bank Of America Corporation System for implementing federated containerization platform using lifi
JP7473522B2 (ja) 2021-12-22 2024-04-23 株式会社日立製作所 ストレージ管理システム、及びストレージ管理方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006011860A (ja) * 2004-06-25 2006-01-12 Fujitsu Ltd システム構成管理プログラム及びシステム構成管理装置
JP2006065430A (ja) * 2004-08-25 2006-03-09 Hitachi Ltd 仮想計算機性能変更方法
JP2008225520A (ja) * 2007-03-08 2008-09-25 Nec Corp 仮想マシン環境においてメモリ資源を配置するメモリ資源配置制御方法、仮想マシンシステム及びプログラム
JP5256744B2 (ja) * 2008-01-16 2013-08-07 日本電気株式会社 資源割当てシステム、資源割当て方法及びプログラム

Also Published As

Publication number Publication date
JP2011128706A (ja) 2011-06-30

Similar Documents

Publication Publication Date Title
JP5560690B2 (ja) 仮想計算機割当資源管理プログラム、仮想計算機割当資源管理装置および仮想計算機割当資源管理方法
US10346203B2 (en) Adaptive autoscaling for virtualized applications
CN109597685B (zh) 任务分配方法、装置和服务器
CN108228672B (zh) 一种元数据迁移方法、装置、***及设备
CN102232282B (zh) 一种实现数据中心资源负载均衡的方法及装置
AU2014309371B2 (en) Virtual hadoop manager
US8695007B2 (en) Computer system and method of scheduling a virtual processor to run on physical processors based on the number of possessing cycles of each virtual computer
US8607018B2 (en) Memory usage configuration based on observations
US20150212857A1 (en) Dynamic allocation of physical computing resources amongst virtual machines
US9286123B2 (en) Apparatus and method for managing stream processing tasks
US9483288B2 (en) Method and system for running a virtual appliance
US9870269B1 (en) Job allocation in a clustered environment
US20180198855A1 (en) Method and apparatus for scheduling calculation tasks among clusters
EP2885707B1 (en) Latency sensitive software interrupt and thread scheduling
US20140019966A1 (en) System and method for continuous optimization of computing systems with automated assignment of virtual machines and physical machines to hosts
US20090265450A1 (en) Method and apparatus for managing computing resources of management systems
US10838842B2 (en) Method and system of monitoring a service object
CN109739627B (zh) 任务的调度方法、电子设备及介质
US20170339069A1 (en) Allocating Cloud Computing Resources In A Cloud Computing Environment
JP2015146154A (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
EP3293632A1 (en) Dynamically varying processing capacity entitlements
JP2015191523A (ja) 構成管理装置、構成管理システム、および構成管理プログラム
JP5664339B2 (ja) 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US20210298033A1 (en) Priority Control Method and Data Processing System
CN112698929A (zh) 一种信息采集方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120815

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140513

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140526

R150 Certificate of patent or registration of utility model

Ref document number: 5560690

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees