JP5673210B2 - 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム - Google Patents

仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム Download PDF

Info

Publication number
JP5673210B2
JP5673210B2 JP2011042113A JP2011042113A JP5673210B2 JP 5673210 B2 JP5673210 B2 JP 5673210B2 JP 2011042113 A JP2011042113 A JP 2011042113A JP 2011042113 A JP2011042113 A JP 2011042113A JP 5673210 B2 JP5673210 B2 JP 5673210B2
Authority
JP
Japan
Prior art keywords
cache
memory
operating system
area
operating
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
JP2011042113A
Other languages
English (en)
Other versions
JP2012181569A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011042113A priority Critical patent/JP5673210B2/ja
Publication of JP2012181569A publication Critical patent/JP2012181569A/ja
Application granted granted Critical
Publication of JP5673210B2 publication Critical patent/JP5673210B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Description

本発明は、コンピュータシステム上で実現される仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラムに関する。
仮想計算機システムにおいて、仮想計算機システム上で動作するオペレーティングシステム(OS)(以下、ゲストOSという。)が複数存在する場合には、主記憶メモリを有効利用するために、停止しているゲストOS用の主記憶メモリを、稼動しているゲストOSが使用する主記憶メモリに割り当てる。停止中のゲストOS用の主記憶メモリを稼動中のゲストOSに主記憶メモリとして割り当てる場合には、ゲストOSを起動させる際に主記憶メモリの取り戻し(再配分)を行う。しかし、主記憶メモリを解放するゲストOSにおいて主記憶メモリ解放処理に伴うページアウト/スワップアウト処理による性能低下が発生する。また、起動しようとしているゲストOSにおいても主記憶メモリ解放処理待ちのため、起動に時間を要する。
ゲストOSに割り当て可能なメモリに管理権と利用権とを設定し、管理権と利用権とが与えられたゲストOSにメモリを割り当てる方法が提案されている(例えば、特許文献1参照。)。特許文献1に記載された方法では、メモリ再構築時に管理権の移譲により見かけ上のメモリ再構築を行い、実際に管理権が移譲されたメモリ領域へのアクセスがあったときにメモリ解放を行う。よって、メモリ再構築時における負荷が分散される。
特開2009−26117号公報
特許文献1に記載された方法では、メモリ再構築時における負荷が分散されるが、ページアウト/スワップアウト処理の発生は防止されない。よって、ページアウト/スワップアウト処理による性能低下、およびゲストOSの起動に時間を要するという課題が残る。
そこで、本発明は、稼動中のゲストOSの性能を低下させず、かつ、高速でゲストOSを起動させることができる仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラムを提供することを目的とする。
本発明による仮想計算機システムは、実計算機で複数のオペレーティングシステムを同時実行可能な仮想計算機システムであって、実計算機が備える記憶装置に割り当てられる、複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが主記憶メモリとして使用する主メモリ、および複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが仮想ストレージのキャッシュとして使用するキャッシュ領域と、停止したオペレーティングシステム用の主メモリとして割り当てられていた領域を、稼働中のオペレーティングシステム用のキャッシュ領域に割り当てるキャッシュ割当手段と、稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てる主メモリ割当手段とを備えることを特徴とする。
本発明による仮想計算機システムのメモリ管理方法は、実計算機で複数のオペレーティングシステムを同時実行可能であり、複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが主記憶メモリとして使用する主メモリ、および複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが仮想ストレージのキャッシュとして使用するキャッシュ領域とが割り当てられる記憶装置を備える仮想計算機システムで実行されるメモリ管理方法であって、キャッシュ割当手段が、停止したオペレーティングシステム用の主メモリとして割り当てられていた領域を、稼働中のオペレーティングシステム用のキャッシュ領域に割り当て、主メモリ割当手段が、稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てることを特徴とする。
本発明による仮想計算機システムのメモリ管理プログラムは、数のオペレーティングシステムを同時実行可能であり、複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが主記憶メモリとして使用する主メモリ、および複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが仮想ストレージのキャッシュとして使用するキャッシュ領域とが割り当てられる記憶装置を備えるコンピュータに、キャッシュ割当手段が、停止したオペレーティングシステム用の主メモリとして割り当てられていた領域を、稼働中のオペレーティングシステム用のキャッシュ領域に割り当てる処理と、主メモリ割当手段が、稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てる処理とを実行させることを特徴とする。
本発明によれば、稼動中のゲストOSの性能を低下させず、かつ、高速でゲストOSを起動させることができる。
本発明が適用されるコンピュータシステム100の第1の実施形態の構成を示すブロック図である。 第1の実施形態における主記憶メモリ160の構成を示す説明図である。 第1の実施形態におけるゲストOS用メモリ管理情報220の一例を示す説明図である。 第1の実施形態においてオペレータからゲストOSの停止要求があった場合の仮想計算機システムの動作を示すフローチャートである。 第1の実施形態においてゲストOS管理システム200がクリーン状態のキャッシュ量をゲストOSの起動時に必要な主記憶メモリ量以上確保する処理を示すフローチャートである。 第1の実施形態においてオペレータからゲストOSの起動要求があった場合の仮想計算機システムの動作を示すフローチャートである。 第1の実施形態においてゲストOSから仮想ストレージにアクセスした場合の仮想計算機システムの動作を示すフローチャートである。 第1の実施形態におけるキャッシュ管理手段210で使用されるキャッシュのクリーン化処理の動作を示すフローチャートである。 本発明が適用されるコンピュータシステム100の第2の実施形態の構成を示すブロック図である。 第2の実施形態におけるゲストOS用メモリ管理情報220の一例を示す説明図である。 第2の実施形態においてオペレータからゲストOSの起動要求があった場合の仮想計算機システムの動作を示すフローチャートである。 第2の実施形態においてオペレータからゲストOSの停止要求があった場合の仮想計算機システムの動作を示すフローチャートである。 本発明の仮想計算機システムの主要部を示すブロック図である。
実施形態1.
以下、本発明の第1の実施形態を図面を参照して説明する。
図1は、本発明による仮想計算機システムの第1の実施形態を示すブロック図である。図1には、仮想計算機システムを実現するコンピュータシステム100が示されている。図2は、第1の実施形態における主記憶メモリ(主メモリ)160の構成を示す説明図である。図3は、第1の実施形態におけるゲストOS用メモリ管理情報220の一例を示す説明図である。
図1に示すコンピュータシステム100は、ゲストOS120(i=1〜n)と、仮想ストレージ150(i=1〜n)と、管理コンソール130と、ホストOS110と、主記憶メモリ160と、ストレージ170と、仮想化ソフトウェアであるゲストOS管理システム200とを含む。
ホストOS110、ゲストOS120、管理コンソール130およびゲストOS管理システム200は、コンピュータシステム100が備えるプログラムに従って動作するCPU等で実現可能である
ホストOS110は、コンピュータシステム100上で動作するOS(実計算機のOS)である。
ゲストOS120は、ゲストOS管理システム200上で動作するOSである。ゲストOS120は、仮想ストレージ150に対してアクセスを行うストレージアクセス機能121を有する。
管理コンソール130は、オペレータの入力操作を受け付ける入出力インタフェースである。
仮想ストレージ150は、ストレージ170上に論理的に定義された仮想ストレージである。本実施例においては、キャッシュ管理手段210およびストレージ170によって実現される。
主記憶メモリ160は、例えば、RAMなどの主記憶装置である。図2に示すように、主記憶メモリは、ホストOS110が使用する領域であるホストOS用メモリ161と、ゲストOS120が使用する領域であるゲストOS用メモリ162とを含む。また、ゲストOS用メモリ162は、稼動中のゲストOS120が主記憶メモリとして使用すゲストOS使用メモリ1621と、稼動中のゲストOS120が仮想ストレージのキャッシュとして使用する即時割当不可メモリ1622および即時割当可能メモリ1623とを含む。即時割当不可メモリ1622は、仮想ストレージのキャッシュのうちダーティ状態にある領域に相当し、即時割当可能メモリ1623は、仮想ストレージのキャッシュのうちクリーン状態にある領域(クリーン領域)に相当する。ダーティ状態とは、キャッシュが更新されている状態をいい、クリーン状態とは、キャッシュが更新されていない状態をいう。
ストレージ170は、例えば、ハードディスクなどの補助記憶装置である。
ゲストOS管理システム200は、ゲストOS停止手段201と、メモリ解放手段202と、ゲストOS起動手段203と、メモリ割当手段204と、キャッシュ量変更通知手段205と、閾値チェック手段206と、キャッシュ解放手段207と、キャッシュ用メモリ状態変更手段208と、キャッシュ管理手段210と、ゲストOS用メモリ管理情報220とを備える。
キャッシュ管理手段210は、キャッシュアクセス機能211と、キャッシュ量変更機能212と、キャッシュクリーン化機能213と、キャッシュ状態更新依頼機能214とを有する。
ゲストOS用メモリ管理情報220は、図3に示すように、即時割当不可メモリ1622のメモリ量を示す即時割当不可メモリ量221と、即時割当可能メモリ1623のメモリ量を示す即時割当可能メモリ量222と、ゲストOS起動時に必要な主記憶メモリ量であり、キャッシュ使用時におけるクリーン状態の最低確保キャッシュ量である割当閾値223とを含む。
ゲストOS停止手段201は、管理コンソール130がオペレータからゲストOS120の停止要求を受信した場合に呼び出される。ゲストOS停止手段201は、停止対象となるゲストOSに割り当てられていたメモリを解放させるためにメモリ解放手段202を呼び出す。
メモリ解放手段202は、ゲストOS用メモリ管理情報220の即時割当可能メモリ量222をメモリ解放後のメモリ量に更新し、キャッシュ量変更通知手段205を呼び出す。
ゲストOS起動手段203は、管理コンソール130がオペレータからゲストOS120の起動要求を受信した場合に呼び出される。ゲストOS起動手段203は、クリーン状態のキャッシュである即時割当可能メモリ1623を、起動するゲストOSに主記憶メモリとして割り当てるためにメモリ割当手段204を呼び出す。
メモリ割当手段204は、ゲスト用メモリ管理情報220の即時割当可能メモリ量222で表される量のうち、起動するゲストOSが主記憶メモリとして必要とする量を割り当てる。そして、即時割当可能メモリ量222をメモリ割り当て後のメモリ量に更新し、キャッシュ量変更通知手段205を呼び出す。
キャッシュ量変更通知手段205は、キャッシュ量変更機能212にキャッシュ管理手段210で使用されるキャッシュ量の変更を依頼する。キャッシュ管理手段210で使用されるキャッシュとは、即時割当不可メモリ1622および即時割当可能メモリ1623で示されるメモリをいう。
閾値チェック手段206は、ゲストOS用メモリ管理情報220の即時割当不可メモリ量221が割当閾値223を下回っているか否かを確認する。ゲストOS用メモリ管理情報220の即時割当可能メモリ量222が割当閾値223を下回っていた場合は、クリーン状態のキャッシュ量が不足していると判断して、キャッシュ解放手段207を呼び出す。
キャッシュ解放手段207は、キャッシュクリーン化機能213にキャッシュのクリーン化を依頼する。
キャッシュ用メモリ状態変更手段208は、キャッシュ状態更新依頼機能214からキャッシュ管理手段210で使用されるキャッシュの状態の変更通知を受けると、キャッシュ管理手段210で使用されるキャッシュの状態にもとづいて、ゲスト用メモリ管理情報220を更新する。
キャッシュアクセス機能211は、ゲストOS120のストレージアクセス機能121からの仮想ストレージ150に対するアクセス要求を受け付ける。
キャッシュ量変更機能212は、キャッシュ量変更通知手段205からキャッシュ量の変更依頼を受けつけると、変更依頼にもとづいて、ゲストOS用メモリ162の管理を行う。
キャッシュクリーン化機能213は、キャッシュ解放手段207からキャッシュクリーン化要求を受け付けると、ゲストOSのキャッシュのクリーン化を行う。
キャッシュ状態更新依頼機能214は、キャッシュ管理手段210で使用されるキャッシュの状態に変更があった場合は、変更内容をキャッシュ用メモリ状態変更手段208に通知する。
次に、本実施形態の動作について説明する。
図4は、第1の実施形態においてオペレータからゲストOSの停止要求があった場合の仮想計算機システムの動作を示すフローチャートである。
図4を参照して、オペレータからゲストOS120のうちいずれかについて停止要求があった場合の仮想計算機システムの動作について説明する。なお、図4において、キャッシュ管理手段210の処理は破線で示されている。
管理コンソール130は、オペレータからのゲストOS120の停止要求を受け付けると、ゲストOS管理システム200のゲストOS停止手段201を呼び出す(ステップS401)。ゲストOS停止手段201は、停止対象となるゲストOSの主記憶メモリとして割り当てられているメモリを解放するためにメモリ解放手段202を呼び出す。
メモリ解放手段202は、ゲストOS用メモリ管理情報220の即時割当可能メモリ量222を、割当閾値223を足した値に更新する。そして、メモリ解放手段202は、キャッシュ量変更通知手段205を呼び出す(ステップS402)。
キャッシュ量変更通知手段205は、キャッシュ量変更機能212に、キャッシュ管理手段210で使用されるキャッシュ量の変更を依頼する(ステップS403)。
キャッシュ量変更機能212は、キャッシュ量変更通知機能手段205の変更依頼に応じて、停止対象となるゲストOS用に主記憶メモリとして割り当てられていたメモリを解放して、解放したメモリをキャッシュ用メモリに割り当てる(ステップS404)。
この結果、即時割当可能メモリ1623が即時割当可能メモリ量222で示される容量に拡張され、キャッシュ管理210で使用されるキャッシュのクリーン領域が拡張される。
図5は、第1の実施形態においてゲストOS管理システム200がクリーン状態のキャッシュ量をゲストOSの起動時に必要な主記憶メモリ量以上確保する処理を示すフローチャートである。なお、図5において、キャッシュ管理手段210の処理は破線で示されている。
閾値チェック手段206は、ゲストOS用メモリ管理情報220の即時割当可能メモリ量222を監視して、即時割当可能メモリ量222がゲストOS起動時に必要な主記憶メモリ量である割当閾値223以上であるか否かを確認する(ステップS501)。
閾値チェック手段206は、即時割当可能メモリ量222が割当閾値223以上であった場合は、クリーン状態のキャッシュ量は足りていると判断して、再び即時割当可能メモリ量222の監視を行う。
閾値チェック手段206は、即時割当可能メモリ量222が割当閾値223未満であった場合は、クリーン状態のキャッシュ量が不足していると判断して、不足しているクリーン状態のキャッシュ量を補充するために、キャッシュ解放手段207を呼び出す。
キャッシュ解放手段207は、ダーティ状態のキャッシュをクリーン状態にするために、キャッシュクリーン化機能213にキャッシュ管理手段210で使用されるキャッシュのクリーン化を依頼する(ステップS502)。
キャッシュクリーン化機能213は、キャッシュ管理310で使用されるキャッシュのクリーン化を実行する。具体的には、即時割当可能メモリ1623の容量が割当閾値223以上になるように、ダーティ状態にある即時割当不可メモリ1622の一部をクリーン化する。キャッシュ状態更新依頼機能214は、キャッシュクリーン化機能213によってキャッシュのクリーン化が実行されると、キャッシュ用メモリ状態変更手段208に、クリーン化後のキャッシュの状態を通知する(ステップS503)。
キャッシュ用メモリ状態変更手段208は、キャッシュ状態更新依頼機能214から通知を受けると、ゲストOS用メモリ管理情報20の即時割当不可メモリ量221および即時割当可能メモリ量222の値を更新する(ステップS504)。
この結果、ゲストOSの起動時に必要な主記憶メモリが即時割当可能メモリ1623に確保された状態が維持される。
図6は、第1の実施形態においてオペレータからゲストOSの起動要求があった場合の仮想計算機システムの動作を示すフローチャートである。なお、図6において、キャッシュ管理手段210の処理は破線で示されている。
管理コンソール130は、オペレータからゲストOS120の起動要求を受け付けると、ゲストOS管理システム200のゲストOS起動手段203を呼び出す(ステップS601)ゲストOS起動手段203は、起動するゲストOSの主記憶メモリとして即時割当可能メモリ1623の一部を割り当てるために、メモリ割当手段204を呼び出す。
メモリ割当手段204は、ゲストOS用メモリ管理情報220の即時割当可能メモリ量222を、割当閾値223を引いた値に更新する。そして、メモリ割当手段204は、キャッシュ量変更通知手段205を呼び出す(ステップS602)。
キャッシュ量変更通知手段205は、キャッシュ量変更機能212に、キャッシュ管理手段210で使用されるキャッシュ量の変更を依頼する(ステップS603)。
キャッシュ量変更機能212は、起動するゲストOS用に主記憶メモリとしてクリーン状態のキャッシュを割り当てる(ステップS604)。具体的には、即時割当可能メモリ1623から割当閾値223で示されるメモリ量分のメモリを起動するゲストOSの主記憶メモリとして割り当てる。
図7は、第1の実施形態においてゲストOSから仮想ストレージにアクセスした場合の仮想計算機システムの動作を示すフローチャートである。なお、図7において、キャッシュ管理手段210の処理は破線で示されている。
ゲストOS120のストレージアクセス機能121から仮想ストレージ150に対してアクセスが行われた場合(ステップS701)、キャッシュアクセス機能211に対してアクセス要求が通知される。つまり、仮想ストレージ150に対するアクセスは、実際には、キャッシュアクセス機能211を介して、ストレージ170に対するアクセスとして処理される。
ステップS701におけるアクセス要求によって、キャッシュ管理手段210で使用されるキャッシュの一部がクリーン状態からダーティ状態に変更されると、キャッシュ状態更新依頼機能214は、キャッシュ状態の変更をキャッシュ用メモリ状態変更手段208に通知する(ステップS702)。
キャッシュ用メモリ状態変更手段208は、キャッシュ状態更新依頼機能214から通知を受けると、ゲストOS用メモリ管理情報220の即時割当不可メモリ量221と、即時割当可能メモリ量222を変更する(ステップS703)。このとき、即時割当可能メモリ量222は閾値チェック手段206によって、監視されている。
図8は、第1の実施形態におけるキャッシュ管理手段210で使用されるキャッシュのクリーン化処理の動作を示すフローチャートである。なお、図8において、キャッシュ管理手段210の処理は破線で示されている。
ダーティ状態のキャッシュのストレージ170への書き出しやキャッシュの無効化など、ダーティ状態のキャッシュのクリーン化はキャッシュ管理手段210のキャッシュクリーン化機能213で実行され、キャッシュクリーン化機能213によるキャッシュのクリーン化によってキャッシュの状態が変更されると、キャッシュ状態更新依頼機能214が、キャッシュ状態の変更をキャッシュ用メモリ状態変更手段208へ通知する(ステップS801)。
キャッシュ用メモリ状態変更手段208は、キャッシュ状態更新依頼機能214から通知を受けると、ゲストOS用メモリ管理情報220の即時割当不可メモリ量221および即時割当可能メモリ量222を更新する(ステップS802)。
以上に説明したように、本実施形態によれば、停止しているゲストOSの主記憶メモリを、他の稼動しているゲストOSの仮想ストレージのキャッシュ領域として使用しているので、稼動中のゲストOSの性能を向上させることができる。
また、停止していたゲストOSを起動させるときに、起動時に必要な主記憶メモリを稼動中のゲストOSのクリーン状態のキャッシュから確保しているので、ページイン/スワップインなどの処理を伴なわずに、待ち時間なく高速にゲストOSを起動させることができる。また、クリーン状態のキャッシュからメモリの確保を行っているので、稼動中のゲストOSに影響を与えることなく、ゲストOSを起動させることができる。
実施形態2.
以下、本発明の第2の実施形態を図面を参照して説明する。
図9は、本発明による仮想計算機システムの第2の実施形態を示すブロック図である。図9には、仮想計算機システムを実現するコンピュータシステム101が示されている。
本発明が適用されるコンピュータシステム101の第2の実施形態の構成を示すブロック図である。図10は、第2の実施形態におけるゲストOS用メモリ管理情報220の一例を示す説明図である。
図9に示す仮想計算機システムのゲストOS管理システム200は、閾値抽出手段209を備える。
ゲストOS用メモリ管理情報220は、図10に示すように、即時割当不可メモリ量221、即時割当可能メモリ量222および割当閾値223に加えて、ゲストOS名224(i=1〜n)と、ゲストOS120が起動時に必要とする主記憶メモリ量を示す必要メモリ量225(i=1〜n)と、ゲストOS120が稼動中か否かの状態を示すゲストOS状態226(i=1〜n)とを含む。
なお、コンピュータシステム101におけるその他の構成は、第1の実施形態のコンピュータシステム100における構成と同様なため説明を省略する。
次に、本実施形態の動作について説明する。
図11は、第2の実施形態においてオペレータからゲストOSの起動要求があった場合の仮想計算機システムの動作を示すフローチャートである。なお、図11において、キャッシュ管理手段210の処理は破線で示されている。
管理コンソール130は、オペレータからゲストOS120の起動要求を受け付けると、ゲストOS管理システム200のゲストOS起動手段203を呼び出す(ステップS1101)。ゲストOS起動手段203は、起動するゲストOSの主記憶メモリとして即時割当可能メモリ1623の一部を割り当てるために、メモリ割当手段204を呼び出す。
メモリ割当手段204は、起動するゲストOS120に対応するゲストOS用メモリ管理情報220のゲストOS状態226を「稼動中」に更新し、さらに、即時割当可能メモリ量222を必要メモリ量225を引いた値に更新する(ステップS1102)。そして、メモリ割当手段204は、閾値抽出手段209を呼び出す。
閾値抽出手段209は、ゲストOS状態226が「停止中」であるゲストOSの中から必要メモリ量225が最大のものを抽出して、抽出した必要メモリ量225で割当閾値223を更新する(ステップS1103)。そして、閾値抽出手段209は、キャッシュ量変更通知手段205を呼び出す。
キャッシュ量変更通知手段205は、キャッシュ量変更機能212に、キャッシュ管理手段210で使用されるキャッシュ量の変更を依頼する(ステップS1104)。
キャッシュ量変更機能212は、起動するゲストOS用に主記憶メモリとしてクリーン状態のキャッシュを割り当てる。具体的には、即時割当可能メモリ1623から割当閾値223で示されるメモリ量分のメモリをゲストOSの主記憶メモリとして割り当てる。
図12は、第2の実施形態においてオペレータからゲストOSの停止要求があった場合の仮想計算機システムの動作を示すフローチャートである。なお、図12において、キャッシュ管理手段210の処理は破線で示されている。
管理コンソール130は、オペレータからのゲストOS120の停止要求を受け付けると、ゲストOS管理システム200のゲストOS停止手段201を呼び出す(ステップS1201)。ゲストOS停止手段201は、停止対象となるゲストOSの主記憶メモリとして割り当てられているメモリを解放するためにメモリ解放手段202を呼び出す。
メモリ解放手段202は、停止対象となるゲストOSに対応するゲストOS用メモリ管理情報220のゲストOS状態226を「停止中」に更新し、さらに、即時割当可能メモリ量222を必要メモリ量225を足した値に更新する(ステップS1202)。そして、閾値抽出手段209を起動する。
閾値抽出手段209は、ゲストOS状態226が「停止中」であるゲストOSの中から必要メモリ量225が最大のものを抽出して、抽出した必要メモリ量225で割当閾値223を更新する(ステップS1203)。そして、閾値抽出手段209は、キャッシュ量変更通知手段205を呼び出す。
キャッシュ量変更通知手段205は、キャッシュ量変更機能212に、キャッシュ管理手段210で使用されるキャッシュ量の変更を依頼する(ステップS1204)。
キャッシュ量変更機能212は、キャッシュ量変更通知機能手段205の変更依頼に応じて、停止対象となるゲストOS用に主記憶メモリとして割り当てられていたメモリを解放して、解放したメモリをキャッシュ用メモリに割り当てる(ステップS1205)。
この結果、即時割当可能メモリ1623が即時割当可能メモリ量222で示される容量に拡張され、キャッシュ管理210で使用されるキャッシュのクリーン領域が拡張される。
以上に説明したように、本実施形態によれば、停止中のゲストOSの中で起動時に必要な主記憶メモリ量が最大のものをクリーン状態のキャッシュの最低確保量としているので、起動時に必要な主記憶メモリ量が各ゲストOSごとに異なる場合においても、第1の実施形態と同様の効果を得ることができる。
図13は、本発明による仮想計算機システムの主要部を示すブロック図である。図13に示すように、本発明による仮想計算機システムは、実計算機で複数のオペレーティングシステムを同時実行可能な仮想計算機システムであって、停止したオペレーティングシステム用の主メモリを、稼働中のオペレーティングシステム用のキャッシュ領域に割り当てるキャッシュ割当手段11と、稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てる主メモリ割当手段12とを備えることを特徴とする。
上記の実施形態には、以下のような仮想計算機システムも開示されている。
(1)オペレーティングシステムが必要とする主メモリ量以上のクリーン領域をあらかじめ確保するクリーン領域確保手段(図1に示す閾値チェック手段206およびキャッシュ解放手段207で実現される。)を備える仮想計算機システム。
(2)クリーン領域確保手段が、クリーン領域のサイズが、オペレーティングシステムが必要とする主メモリ量よりも少ない場合に、キャッシュクリーン化処理を実行するキャッシュ拡張手段(図1に示すキャッシュ解放手段で実現される。)を含む仮想計算機システム。
(3)クリーン領域確保手段は、停止中の各オペレーティングシステムが必要とする主メモリ量のうちの最大量のクリーン領域を確保する(図9に示す閾値抽出手段209の処理等で実現される。)仮想計算機システム。
(4)キャッシュ領域は、オペレーティングシステムによってアクセスされる仮想ストレージ(図1に示す仮想ストレージ150〜150に相当)のためのキャッシュ領域である(図1参照)仮想計算機システム。
11 キャッシュ割当手段
12 主メモリ割当手段
100,101 コンピュータシステム
110 ホストOS
120〜120 ゲストOS
130 管理コンソール
150〜150 仮想ストレージ
160 主記憶メモリ
161 ホストOS用メモリ
162 ゲストOS用メモリ
170 ストレージ
200 ゲストOS管理システム
201 ゲストOS停止手段
202 メモリ解放手段
203 ゲストOS起動手段
204 メモリ割当手段
205 キャッシュ量変更通知手段
206 閾値チェック手段
207 キャッシュ解放手段
208 キャッシュ用メモリ状態変更手段
209 閾値抽出手段
210 キャッシュ管理手段
211 キャッシュアクセス機能
212 キャッシュ量変更機能
213 キャッシュクリーン化機能
214 キャッシュ状態更新依頼機能
220 ゲストOS用メモリ管理情報
221 即時割当不可メモリ量
222 即時割当可能メモリ量
223 割当閾値
224〜224 ゲストOS名
225〜225 必要メモリ量
226〜226 ゲストOS状態
1621 ゲストOS使用メモリ
1622 即時割当不可メモリ
1623 即時割当可能メモリ

Claims (7)

  1. 実計算機で複数のオペレーティングシステムを同時実行可能な仮想計算機システムであって、
    前記実計算機が備える記憶装置に割り当てられる、前記複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが主記憶メモリとして使用する主メモリ、および前記複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが仮想ストレージのキャッシュとして使用するキャッシュ領域と、
    停止したオペレーティングシステム用の主メモリとして割り当てられていた領域を、稼働中のオペレーティングシステム用のキャッシュ領域に割り当てるキャッシュ割当手段と、
    稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てる主メモリ割当手段とを備える
    ことを特徴とする仮想計算機システム。
  2. キャッシュ領域におけるクリーン領域のサイズを監視し、クリーン領域のサイズが、複数のオペレーティングシステムのうち1つのオペレーティングシステムが起動時に必要とする主メモリ量よりも少ない場合に、キャッシュクリーン化処理を実行し、前記複数のオペレーティングシステムのうち1つのオペレーティングシステムが起動時に必要とする主メモリ量以上のクリーン領域を保するクリーン領域確保手段を備える
    請求項1に記載の仮想計算機システム。
  3. クリーン領域確保手段は、複数のオペレーティングシステムのうち停止中の各オペレーティングシステムが起動時に必要とする主メモリ量のうちの最大量のクリーン領域を確保する
    請求項に記載の仮想計算機システム。
  4. 実計算機で複数のオペレーティングシステムを同時実行可能であり、前記複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが主記憶メモリとして使用する主メモリ、および前記複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが仮想ストレージのキャッシュとして使用するキャッシュ領域とが割り当てられる記憶装置を備える仮想計算機システムで実行されるメモリ管理方法であって、
    キャッシュ割当手段が、停止したオペレーティングシステム用の主メモリとして割り当てられていた領域を、稼働中のオペレーティングシステム用のキャッシュ領域に割り当て、
    主メモリ割当手段が、稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てる
    ことを特徴とするメモリ管理方法。
  5. クリーン領域確保手段が、キャッシュ領域におけるクリーン領域のサイズを監視し、クリーン領域のサイズが、複数のオペレーティングシステムのうち1つのオペレーティングシステムが起動時に必要とする主メモリ量よりも少ない場合に、キャッシュクリーン化処理を実行し、前記複数のオペレーティングシステムのうち1つのオペレーティングシステムが起動時に必要とする主メモリ量以上のクリーン領域を保する
    請求項に記載のメモリ管理方法。
  6. 数のオペレーティングシステムを同時実行可能であり、前記複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが主記憶メモリとして使用する主メモリ、および前記複数のオペレーティングシステムのうち稼働中のオペレーティングシステムが仮想ストレージのキャッシュとして使用するキャッシュ領域とが割り当てられる記憶装置を備えるコンピュータに、
    キャッシュ割当手段が、停止したオペレーティングシステム用の主メモリとして割り当てられていた領域を、稼働中のオペレーティングシステム用のキャッシュ領域に割り当てる処理と、
    主メモリ割当手段が、稼働中のオペレーティングシステム用のキャッシュ領域におけるクリーン領域を、起動するオペレーティングシステムの主メモリに割り当てる処理とを実行させる
    ためのメモリ管理プログラム。
  7. コンピュータに、
    クリーン領域確保手段が、キャッシュ領域におけるクリーン領域のサイズを監視し、クリーン領域のサイズが、複数のオペレーティングシステムのうち1つのオペレーティングシステムが起動時に必要とする主メモリ量よりも少ない場合に、キャッシュクリーン化処理を実行し、前記複数のオペレーティングシステムのうち1つのオペレーティングシステムが起動時に必要とする主メモリ量以上のクリーン領域を保する処理を実行させる
    ための請求項に記載のメモリ管理プログラム。
JP2011042113A 2011-02-28 2011-02-28 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム Expired - Fee Related JP5673210B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011042113A JP5673210B2 (ja) 2011-02-28 2011-02-28 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011042113A JP5673210B2 (ja) 2011-02-28 2011-02-28 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム

Publications (2)

Publication Number Publication Date
JP2012181569A JP2012181569A (ja) 2012-09-20
JP5673210B2 true JP5673210B2 (ja) 2015-02-18

Family

ID=47012740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011042113A Expired - Fee Related JP5673210B2 (ja) 2011-02-28 2011-02-28 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム

Country Status (1)

Country Link
JP (1) JP5673210B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6069515B2 (ja) * 2013-09-26 2017-02-01 株式会社日立製作所 計算機システムおよび計算機システムのメモリ割当調整方法
US10496444B2 (en) 2015-10-02 2019-12-03 Hitachi, Ltd. Computer and control method for computer
CN108121591A (zh) * 2017-12-18 2018-06-05 浪潮软件股份有限公司 一种Kubernetes节点的实现方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61206042A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd 仮想計算機の入出力方式
US8015383B2 (en) * 2007-06-27 2011-09-06 International Business Machines Corporation System, method and program to manage virtual memory allocated by a virtual machine control program
WO2011033600A1 (ja) * 2009-09-21 2011-03-24 株式会社 東芝 仮想記憶管理装置

Also Published As

Publication number Publication date
JP2012181569A (ja) 2012-09-20

Similar Documents

Publication Publication Date Title
US10909072B2 (en) Key value store snapshot in a distributed memory object architecture
US9015203B2 (en) Balloon object feedback for Java Virtual Machines
JP5585655B2 (ja) システム制御装置、ログ制御方法および情報処理装置
US20150193342A1 (en) Storage apparatus and method of controlling the same
JP6370218B2 (ja) メモリ管理方法、コンピュータシステム、コンピュータプログラム及び記憶媒体
TWI507870B (zh) 虛擬機的記憶體管理方法和電腦系統
WO2012056596A1 (ja) 計算機システム及び処理制御方法
US9081692B2 (en) Information processing apparatus and method thereof
JP6412244B2 (ja) 負荷に基づく動的統合
JP5980916B2 (ja) コンピュータにより実行される方法及びコンピュータシステム
US20180067674A1 (en) Memory management in virtualized computing
EP2450784A2 (en) Latency reduction associated with a response to a request in a storage system
US20170031825A1 (en) Direct Host-To-Host Transfer for Local Caches in Virtualized Systems
US8677374B2 (en) Resource management in a virtualized environment
JP2007226413A (ja) メモリダンプ方法、メモリダンププログラム、及び、計算機システム
JP2006350780A (ja) キャッシュ割当制御方法
JP2021048513A (ja) 情報処理装置、情報処理方法および仮想マシン接続管理プログラム
JP6540391B2 (ja) ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法
CN111679914B (zh) 一种内存管理方法、系统、计算机设备及存储介质
JP5673210B2 (ja) 仮想計算機システム、仮想計算機システムのメモリ管理方法およびメモリ管理プログラム
CN112631520A (zh) 分布式块存储系统、方法、装置、设备和介质
US10754697B2 (en) System for allocating resources for use in data processing operations
CN112162818B (zh) 一种虚拟内存分配方法、装置、电子设备及存储介质
CN108334401B (zh) 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
CN109840217A (zh) 一种缓存资源分配和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140909

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141107

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: 20141202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141215

R150 Certificate of patent or registration of utility model

Ref document number: 5673210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees