[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2012243096A - Guest os management device, guest os management method, and guest os management program - Google Patents

Guest os management device, guest os management method, and guest os management program Download PDF

Info

Publication number
JP2012243096A
JP2012243096A JP2011112790A JP2011112790A JP2012243096A JP 2012243096 A JP2012243096 A JP 2012243096A JP 2011112790 A JP2011112790 A JP 2011112790A JP 2011112790 A JP2011112790 A JP 2011112790A JP 2012243096 A JP2012243096 A JP 2012243096A
Authority
JP
Japan
Prior art keywords
guest
sleep
unit
memory
monitoring
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.)
Pending
Application number
JP2011112790A
Other languages
Japanese (ja)
Inventor
Yuhei Kawakoya
裕平 川古谷
Makoto Iwamura
誠 岩村
Mitsuyasu Ito
光恭 伊藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011112790A priority Critical patent/JP2012243096A/en
Publication of JP2012243096A publication Critical patent/JP2012243096A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To efficiently use a memory area.SOLUTION: A guest OS management device executes the steps of: monitoring an operating condition of each guest OS that shows an OS which operates on a virtual machine built on the guest OS management device; making the guest OS sleep when the monitored condition satisfies predetermined conditions; saving a memory page of the guest OS, which is made to sleep, and then releasing it; when finding that a packet arrives at the sleeping guest OS, resuming the corresponding guest OS, and retrieving and expanding the released memory page.

Description

本発明は、ゲストOS管理装置、ゲストOS管理方法及びゲストOS管理プログラムに関する。   The present invention relates to a guest OS management device, a guest OS management method, and a guest OS management program.

従来、複数のOS(Operating System)を1台の物理マシン上で起動させる仮想化技術がある。ここで、上記複数のOSは、ゲストOSと呼ぶことがある。かかる仮想化技術において、複数台のゲストOSが起動された場合に、仮想マシンモニタは、実際には有限個であるコンピュータ資源を仮想的にゲストOSに占有されているように見せかける。これにより、仮想化技術では、特別な変更を加えることなく各ゲストOSを動作させることができる。   Conventionally, there is a virtualization technology for starting a plurality of operating systems (OSs) on one physical machine. Here, the plurality of OSs may be referred to as guest OSs. In such a virtualization technique, when a plurality of guest OSs are activated, the virtual machine monitor makes it appear as if the guest OS virtually occupies a limited number of computer resources. Thereby, in the virtualization technology, each guest OS can be operated without any special change.

また、仮想マシンモニタは、各ゲストOSが占有していると見せかけているコンピュータ資源への利用要求を調整し、ゲストOS間でコンピュータ資源の干渉が起こらないように該コンピュータ資源を共有させる。具体的に、コンピュータ資源の1つとして物理メモリを例に挙げると、仮想マシンモニタは、4GBの物理メモリを1つのゲストOSに256MBずつ割り当てる場合に、16個のゲストOSを起動させることが可能となる。   In addition, the virtual machine monitor adjusts a use request for a computer resource that each guest OS seems to occupy, and shares the computer resource so that the guest OS does not interfere with the computer resource. Specifically, taking physical memory as an example of a computer resource, the virtual machine monitor can start 16 guest OSs when allocating 256 GB of physical memory to each guest OS. It becomes.

但し、このようにして各ゲストOSに割り当てられたメモリ量は、起動時に各ゲストOSが占有することが保証されている反面、起動後にゲストOSがメモリ量を増減しようとすることは困難である。換言すると、各ゲストOSは、処理が多い場合でもメモリ量を増強することができず、処理が少ない場合でも起動時に割り当てられたメモリ量を占有しなければならない。   However, while the amount of memory allocated to each guest OS is guaranteed to be occupied by each guest OS at the time of startup, it is difficult for the guest OS to increase or decrease the amount of memory after startup. . In other words, each guest OS cannot increase the amount of memory even when there are many processes, and must occupy the amount of memory allocated at startup even when there are few processes.

これらのことから、物理マシンのコンピュータ資源の利用を効率化し、より多くのゲストOSを1つの物理マシン上で動作させたいという要求がある。このため、最近では、物理マシンが実際に有する物理メモリ以上のメモリを各ゲストOSに利用させるオーバーコミットメント技術がある。かかるオーバーコミットメント技術は、一つの様態として、同一メモリページの共有、バルーニング又はスワッピング等の技術でも実現される。   For these reasons, there is a demand for efficient use of computer resources of physical machines and for operating more guest OSes on one physical machine. For this reason, recently, there is an overcommitment technology that allows each guest OS to use more memory than the physical memory that the physical machine actually has. Such an overcommitment technique can be realized by a technique such as sharing the same memory page, ballooning, or swapping as one aspect.

同一メモリページを共有する技術は、例えば、各ゲストOSが利用しているメモリページをスキャンし、同一内容のメモリページを検出した場合に、同一内容のメモリページをマージして、空いたメモリページを解放する技術である。かかる技術では、マージしたメモリページに対して書き込み等が発生し、同一の内容ではなくなった場合には、メモリページを複製して、複製したメモリページに対して書き込みを行なわせる。   The technology for sharing the same memory page is, for example, by scanning the memory page used by each guest OS and detecting the memory page with the same content, merging the memory pages with the same content, Is a technology to release In such a technique, when writing or the like occurs in the merged memory page and the contents are not the same, the memory page is duplicated, and writing is performed on the duplicated memory page.

バルーニング技術は、例えば、バルーンドライバと呼ばれるソフトウェアをゲストOSの中で動作させ、ゲストOSのフリーリストにあるメモリページを仮想マシンモニタ側に返却する技術である。かかる技術では、メモリを逼迫している他のゲストOSのフリーリストに、返却されたメモリページが渡されることにより、メモリの利用量が少ないゲストOSからメモリ利用量が多いゲストOSへメモリページを融通する。   The ballooning technique is, for example, a technique in which software called a balloon driver is operated in a guest OS, and a memory page on the guest OS free list is returned to the virtual machine monitor side. In such a technique, the returned memory page is passed to the free list of another guest OS that is struggling with memory, so that a memory page is transferred from a guest OS with a small memory usage to a guest OS with a large memory usage. Be flexible.

スワッピング技術は、例えば、メモリが逼迫してきた場合に、利用頻度の低いメモリページをLRU(Least Recently Used)アルゴリズム等に基づいて選択し、選択したメモリページをディスク領域等の2次記憶領域に退避させる技術である。かかる技術では、2次記憶領域に退避させたメモリページは、物理メモリ上からは削除され空きページとなる。   For example, when the memory is tight, the swapping technique selects a memory page with low usage frequency based on an LRU (Least Recently Used) algorithm or the like, and saves the selected memory page in a secondary storage area such as a disk area. Technology. With this technique, the memory page saved in the secondary storage area is deleted from the physical memory and becomes a free page.

“Understanding Memory Resource Management in VMware ESX 4.1”、[online]、[平成23年5月9日検索]、インターネット<http://www.vmware.com/files/pdf/techpaper/vsp_41_perf_memory_mgmt.pdf>“Understanding Memory Resource Management in VMware ESX 4.1”, [online], [searched on May 9, 2011], Internet <http://www.vmware.com/files/pdf/techpaper/vsp_41_perf_memory_mgmt.pdf>

しかしながら、従来技術では、メモリ領域を有効に利用することができないという問題がある。例えば、ゲストOSは、処理するプロセスがない場合にもアイドルプロセスを実行する。また、例えば、タイマ割り込み等の定期的なイベントを発生させ、ゲストOS内の時間調整を行なうことがある。すなわち、処理中ではないゲストOSであっても、少なくとも一部のメモリページを常にメモリ上に保持させおくことが好ましい。これらのことは、オーバーコミットメントの各種技術を利用しても同様に起こり得る。   However, the conventional technique has a problem that the memory area cannot be used effectively. For example, the guest OS executes an idle process even when there is no process to process. Further, for example, a periodic event such as a timer interrupt may be generated to adjust the time in the guest OS. That is, it is preferable to always keep at least a part of memory pages on the memory even for a guest OS that is not being processed. These things can happen as well using various over-commitment technologies.

例えば、同一メモリページを共有する技術は、常に書き込みが行なわれているページや、同一のメモリページが存在しないメモリページの場合に、マージされずに単独のメモリページとしてメモリ上に存在するため、全てのメモリページをマージできるわけではない。また、例えば、バルーニングやスワッピングの技術は、頻繁にアクセスするメモリページを返却又は退避すると、ゲストOS間での頻繁なメモリページのやり取りや、2次記憶領域とメモリとをメモリページが行き来するスラッシングが発生する。これらの結果、従来技術では、オーバーコミットメント技術により、より多くのゲストOSを1つの物理マシン上で動作させているものの、必ずしもメモリ領域を有効に利用できているわけではない。   For example, since the technology for sharing the same memory page is a page that is always written or a memory page that does not have the same memory page, it exists on the memory as a single memory page without being merged. Not all memory pages can be merged. In addition, for example, ballooning and swapping techniques, when memory pages that are frequently accessed are returned or saved, frequent memory page exchanges between guest OSs and thrashing in which memory pages move between the secondary storage area and the memory Occurs. As a result, in the conventional technique, more guest OSs are operated on one physical machine by the overcommitment technique, but the memory area is not always effectively used.

そこで、本発明は、上記に鑑みてなされたものであって、メモリ領域を有効に利用することが可能であるゲストOS管理装置、ゲストOS管理方法及びゲストOS管理プログラムを提供することを目的とする。   Therefore, the present invention has been made in view of the above, and an object of the present invention is to provide a guest OS management device, a guest OS management method, and a guest OS management program capable of effectively using a memory area. To do.

上述した課題を解決し、目的を達成するため、本発明に係るゲストOS管理装置は、自装置上に構築された仮想マシン上で動作するOSを示すゲストOSの動作に関する状況を監視する監視部と、前記監視部によって監視した状況が所定条件を満たす場合に、前記ゲストOSをスリープさせるスリープ部と、前記スリープ部によってスリープさせたゲストOSのメモリページを退避させてから解放するメモリ制御部とを有する。   In order to solve the above-described problems and achieve the object, the guest OS management device according to the present invention monitors a status related to the operation of the guest OS indicating the OS operating on the virtual machine constructed on the own device. And a sleep unit that causes the guest OS to sleep when a situation monitored by the monitoring unit satisfies a predetermined condition, and a memory control unit that releases and then releases the memory page of the guest OS that has been caused to sleep by the sleep unit. Have

本発明に係るゲストOS管理装置、ゲストOS管理方法及びゲストOS管理プログラムの一つの様態によれば、メモリ領域を有効に利用することができるという効果を奏する。   According to one aspect of the guest OS management device, guest OS management method, and guest OS management program according to the present invention, there is an effect that the memory area can be used effectively.

図1は、実施例1に係る仮想化技術のシステム構成例を示す図である。FIG. 1 is a diagram illustrating a system configuration example of the virtualization technology according to the first embodiment. 図2は、実施例1に係る物理マシンの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of the physical machine according to the first embodiment. 図3は、実施例1に係るゲストOS管理装置の機能ブロックの例を示す図である。FIG. 3 is a diagram illustrating an example of functional blocks of the guest OS management apparatus according to the first embodiment. 図4は、ゲストOS管理装置の機能を含むシステム構成例を示す図である。FIG. 4 is a diagram illustrating a system configuration example including the function of the guest OS management apparatus. 図5は、実施例1に係るスリープ処理の流れの例を示すフローチャートである。FIG. 5 is a flowchart illustrating an example of the flow of the sleep process according to the first embodiment. 図6は、実施例1に係るレジューム処理の流れの例を示すフローチャートである。FIG. 6 is a flowchart illustrating an example of a resume process according to the first embodiment. 図7は、ゲストOS管理プログラムによる処理がコンピュータを用いて具体的に実現されることを示す図である。FIG. 7 is a diagram showing that the processing by the guest OS management program is specifically realized using a computer.

以下に添付図面を参照して、本発明に係るゲストOS管理装置、ゲストOS管理方法及びゲストOS管理プログラムの実施例を説明する。なお、以下の実施例により本発明が限定されるものではない。   Embodiments of a guest OS management apparatus, a guest OS management method, and a guest OS management program according to the present invention will be described below with reference to the accompanying drawings. In addition, this invention is not limited by the following examples.

[仮想化システム構成]
図1を用いて、実施例1に係る仮想化技術のシステム構成を説明する。図1は、実施例1に係る仮想化技術のシステム構成例を示す図である。
[Virtualization system configuration]
The system configuration of the virtualization technology according to the first embodiment will be described with reference to FIG. FIG. 1 is a diagram illustrating a system configuration example of the virtualization technology according to the first embodiment.

例えば、図1に示すように、仮想化技術のシステム構成は、複数のゲストOSを含む仮想マシンを構成する物理マシンと、ネットワークを介して物理マシンに接続可能なクライアントとを含む。上記構成において、各仮想マシンは、一つの様態として、クライアントからのサービス要求をトリガとして動作し、ネットワークを介して特定のサービスをクライアントに提供する。なお、物理マシンは、例えば、PC(Personal Computer)やサーバ装置等の情報処理装置である。また、各装置の数は、図示の数に限られるものではない。   For example, as illustrated in FIG. 1, the system configuration of the virtualization technology includes a physical machine that configures a virtual machine including a plurality of guest OSs, and a client that can be connected to the physical machine via a network. In the above configuration, as one aspect, each virtual machine operates with a service request from the client as a trigger, and provides a specific service to the client via the network. The physical machine is an information processing apparatus such as a PC (Personal Computer) or a server apparatus. Moreover, the number of each apparatus is not restricted to the number of illustration.

[物理マシンの構成]
次に、図2を用いて、実施例1に係る物理マシンの構成を説明する。図2は、実施例1に係る物理マシンの構成例を示す図である。
[Physical machine configuration]
Next, the configuration of the physical machine according to the first embodiment is described with reference to FIG. FIG. 2 is a diagram illustrating a configuration example of the physical machine according to the first embodiment.

例えば、図2に示すように、物理マシンは、クライアントにサービス(サーバサービス)を提供するためのソフトウェアを動作させるゲストOSを含む仮想マシンを少なくとも1つ有する。また、物理マシン上では、仮想マシンモニタ、ハイパーバイザ又はホストOSを含む仮想マシン管理ソフトウェアが動作する。仮想マシンモニタは、例えば、複数のゲストOSを動作させるソフトウェアである。かかる仮想マシン上では、1つ以上のゲストOSが動作する。ハイパーバイザは、例えば、仮想化技術を実現するための制御プログラムである。ホストOSは、例えば、物理マシン上にインストールされたOSを指す。   For example, as illustrated in FIG. 2, the physical machine includes at least one virtual machine including a guest OS that operates software for providing a service (server service) to a client. On the physical machine, virtual machine management software including a virtual machine monitor, a hypervisor, or a host OS operates. The virtual machine monitor is software for operating a plurality of guest OSes, for example. One or more guest OSs operate on the virtual machine. The hypervisor is a control program for realizing a virtualization technology, for example. The host OS refers to an OS installed on a physical machine, for example.

また、物理マシンは、物理メモリ、ディスク、ネットワークカード(NIC:Network Interface Card)、CPU(Central Processing Unit)等の実在するハードウェアを有する。物理メモリは、例えば、物理マシン内でメインメモリとして利用される記憶装置である。ディスクは、例えば、任意の記憶媒体にデータの記録を行なう記憶装置である。ネットワークカードは、例えば、ネットワークを介してクライアント等とパケットを送受信する。CPUは、例えば、物理マシン全体を制御する電子回路である。また、物理メモリやディスクは、2次記憶領域を有する。かかる2次記憶領域の利用については後述する。   The physical machine has real hardware such as a physical memory, a disk, a network card (NIC), and a CPU (Central Processing Unit). The physical memory is a storage device that is used as a main memory in a physical machine, for example. The disk is a storage device that records data on an arbitrary storage medium, for example. For example, the network card transmits / receives a packet to / from a client or the like via the network. The CPU is, for example, an electronic circuit that controls the entire physical machine. Further, the physical memory and the disk have a secondary storage area. The use of the secondary storage area will be described later.

[ゲストOS管理装置の構成]
次に、図3を用いて、実施例1に係るゲストOS管理装置の機能ブロックを説明する。図3は、実施例1に係るゲストOS管理装置の機能ブロックの例を示す図である。
[Guest OS management device configuration]
Next, functional blocks of the guest OS management apparatus according to the first embodiment are described with reference to FIG. FIG. 3 is a diagram illustrating an example of functional blocks of the guest OS management apparatus according to the first embodiment.

例えば、図3に示すように、ゲストOS管理装置100は、監視部110と、スリープ部120と、メモリ制御部130と、レジューム部140とを有する。かかるゲストOS管理装置100の各機能は、一つの様態として、図1又は図2に示した物理マシンに含まれる。または、図4に示すように、ゲストOS管理装置100の一部の機能を別の物理マシン(ネットワーク装置)上に持たせることも可能である。なお、図4は、ゲストOS管理装置100の機能を含むシステム構成例を示す図である。   For example, as illustrated in FIG. 3, the guest OS management device 100 includes a monitoring unit 110, a sleep unit 120, a memory control unit 130, and a resume unit 140. Each function of the guest OS management apparatus 100 is included in the physical machine shown in FIG. 1 or 2 as one aspect. Alternatively, as shown in FIG. 4, a part of the functions of the guest OS management apparatus 100 can be provided on another physical machine (network apparatus). FIG. 4 is a diagram illustrating a system configuration example including the functions of the guest OS management apparatus 100.

さらに、図2に示すような構成で仮想マシン管理ソフトウェアを動作させた物理マシンを複数台動作させ、ネットワークで接続された別の物理マシンに仮想マシン管理ソフトウェアの動作する各物理マシン上で動作する各ゲストOSのコンピュータ資源の利用状況や各イベントの発生状況を送信させ、それらの情報を受け取った物理マシン上で各ゲストOSをスリープさせるか、レジュームさせるかの判定を行なわせ、スリープさせる、又はレジュームさせると判定した場合にはその指令を該仮想マシン管理ソフトウェアの動作する物理マシンに送信するような構成をとることも可能である。   Further, a plurality of physical machines on which the virtual machine management software is operated with the configuration shown in FIG. 2 are operated, and operate on each physical machine on which the virtual machine management software operates on another physical machine connected via the network. Send the usage status of each guest OS computer and the occurrence status of each event, determine whether to sleep or resume each guest OS on the physical machine that received the information, and put it to sleep, or If it is determined to resume, the command can be transmitted to the physical machine on which the virtual machine management software operates.

監視部110は、ゲストOS管理装置100上に構築された仮想的な別のコンピュータ環境である仮想マシン上で動作するOSを示すゲストOSの動作に関する状況を監視する。かかるコンピュータ資源の一例としては、物理メモリ、ディスク、ネットワークカード、CPU等が挙げられる。つまり、監視部110は、一つの様態として、メモリページへのアクセス等が実行される場合の、コンピュータ資源の利用状況を監視する。また、監視部110は、監視状況をスリープ部120に通知する。また、監視部110は、一つの様態として、ネットワークパケット等を監視する場合、ネットワークで接続された別物理マシン上(ネットワーク装置)に監視部110を配置し、それ以外の機能を物理マシンに持たせても良い。   The monitoring unit 110 monitors the status related to the operation of the guest OS indicating the OS that operates on a virtual machine that is another virtual computer environment built on the guest OS management apparatus 100. Examples of such computer resources include physical memory, disk, network card, CPU, and the like. That is, the monitoring unit 110 monitors the use status of computer resources when access to a memory page or the like is executed as one aspect. In addition, the monitoring unit 110 notifies the sleep unit 120 of the monitoring status. Further, as one aspect, when monitoring a network packet or the like, the monitoring unit 110 arranges the monitoring unit 110 on another physical machine (network device) connected via a network, and the physical machine has other functions. May be allowed.

また、例えば、監視部110は、ゲストOSの所定イベントの発生状況を監視しても良い。所定イベントの発生状況を監視する場合には、監視部110は、例えば、各ゲストOS内に配置されても良い。かかる所定イベントの一例としては、プロセス又はスレッドの生成・消失、ファイルアクセス、パケットの送受信、例外の発生、オープン又はクローズしているソケット数、ゲストOSの状態を変化させる事象等が挙げられる。つまり、監視部110は、一つの様態として、メモリページへのアクセス等が実行される場合の、所定イベントの発生状況を監視する。このときも同様に、監視部110は、監視状況をスリープ部120に通知する。   For example, the monitoring unit 110 may monitor the occurrence state of a predetermined event of the guest OS. When monitoring the occurrence status of a predetermined event, the monitoring unit 110 may be disposed in each guest OS, for example. Examples of such a predetermined event include process / thread creation / disappearance, file access, packet transmission / reception, exception occurrence, number of open or closed sockets, event that changes the state of the guest OS, and the like. That is, the monitoring unit 110 monitors the occurrence of a predetermined event when access to a memory page or the like is executed as one aspect. Similarly, at this time, the monitoring unit 110 notifies the sleep unit 120 of the monitoring status.

スリープ部120は、監視部110によって監視した状況が所定条件を満たす場合に、ゲストOSをスリープさせる。かかる所定条件は、例えば、図示していない記憶部等に記憶されている。上記コンピュータ資源の利用状況を監視する例で具体的に説明すると、スリープ部120は、監視部110によって監視した所定コンピュータ資源の一定期間の利用状況が所定条件以下である場合に、該当するゲストOSをスリープさせる。つまり、スリープ部120は、コンピュータ資源が利用されていないことから、サービス要求の処理中ではないと判定し、アイドルプロセスの実行等の何らかの形でメモリ領域を利用することがあるゲストOSをスリープさせる。これにより、スリープさせたゲストOSによるメモリアクセス等を停止させることができる。また、スリープ部120は、スリープさせたゲストOSをメモリ制御部130に通知する。   The sleep unit 120 causes the guest OS to sleep when the status monitored by the monitoring unit 110 satisfies a predetermined condition. Such predetermined conditions are stored in, for example, a storage unit (not shown). More specifically, an example of monitoring the usage status of the computer resource will be described below. The sleep unit 120 corresponds to a corresponding guest OS when the usage status of the predetermined computer resource monitored by the monitoring unit 110 is less than or equal to a predetermined condition. Sleep. That is, the sleep unit 120 determines that the service request is not being processed because the computer resource is not used, and sleeps the guest OS that may use the memory area in some form such as execution of an idle process. . As a result, memory access or the like by the guest OS that has been put to sleep can be stopped. In addition, the sleep unit 120 notifies the memory control unit 130 of the guest OS that has been put to sleep.

詳細には、ゲストOS管理装置100は、サービスの利用要求に対する処理を実行していないときの任意のゲストOSにおける、CPU利用率、メモリ利用率、ネットワーク利用率等を記憶しておき、各コンピュータ資源の何れか一つ又は一つ以上の値を基準値として設定する。そして、スリープ部120は、監視部110によるコンピュータ資源の監視に基づき、予め定められた一定期間に利用状況が基準値以下である場合に、該当するゲストOSにおいてはクライアントからのサービス要求に応じた処理を実行していないと判定し、該当するゲストOSをスリープさせる。   Specifically, the guest OS management device 100 stores the CPU usage rate, the memory usage rate, the network usage rate, etc. in any guest OS when processing for a service usage request is not being executed, and each computer One or more values of resources are set as a reference value. The sleep unit 120 responds to a service request from a client in the corresponding guest OS when the usage state is equal to or less than a reference value for a predetermined period based on the monitoring of the computer resource by the monitoring unit 110. It is determined that the process is not executed, and the corresponding guest OS is put to sleep.

また、上記所定イベントの発生状況を監視する例で具体的に説明すると、スリープ部120は、監視部110によって監視した所定イベントの一定期間の発生状況が所定条件以下である場合に、該当するゲストOSをスリープさせる。つまり、スリープ部120は、イベントが発生していないことから、サービス要求の処理中ではないと判定し、アイドルプロセスの実行等の何らかの形でメモリ領域を利用することがあるゲストOSをスリープさせる。すなわち、図2に示す仮想マシン管理ソフトウェアは、監視部110からの監視結果に基づき、該当するゲストOSをスリープさせる。これにより、スリープさせたゲストOSによるメモリアクセス等を停止させることができる。このときも同様に、スリープ部120は、スリープさせたゲストOSをメモリ制御部130に通知する。   Further, the example of monitoring the occurrence status of the predetermined event will be described in detail. The sleep unit 120 is configured to output a corresponding guest when the occurrence status of the predetermined event monitored by the monitoring unit 110 is equal to or less than a predetermined condition. Sleep the OS. That is, the sleep unit 120 determines that the service request is not being processed because no event has occurred, and sleeps the guest OS that may use the memory area in some form such as execution of an idle process. That is, the virtual machine management software illustrated in FIG. 2 causes the corresponding guest OS to sleep based on the monitoring result from the monitoring unit 110. As a result, memory access or the like by the guest OS that has been put to sleep can be stopped. Similarly, at this time, the sleep unit 120 notifies the memory control unit 130 of the guest OS that has been put to sleep.

ここで、Apache(登録商標)等のHTTP(HyperText Transfer Protocol)サーバ上でホームページが構築され、クライアントからのHTTP要求に応じて、ホームページを返すWebサービスを提供するOSを例に挙げる。かかるApache(登録商標)は、クライアントからの要求に応じてスレッドを生成し、スレッドにクライアントからの要求を処理させるモデルを採用している。これにより、スレッドがゲストOS上で実行されていない場合には、クライアントからの要求を処理していないと判定できる。   Here, an OS that provides a Web service in which a homepage is constructed on an HTTP (HyperText Transfer Protocol) server such as Apache (registered trademark) and returns the homepage in response to an HTTP request from a client will be described as an example. Such Apache (registered trademark) employs a model in which a thread is generated in response to a request from a client and the thread processes the request from the client. Thereby, when the thread is not executed on the guest OS, it can be determined that the request from the client is not processed.

これらのことから、スリープ部120は、監視部110によるゲストOS上で生成されるスレッドの監視に基づいて、一定期間にApache(登録商標)からのスレッド生成が観測されなかった場合に、該当するゲストOSはクライアントからの要求を処理していないと判定して、該当するゲストOSをスリープさせる。また、スレッドだけでなく、ゲストOS内で生成されるプロセスやオープンしているソケット数等の、ゲストOS内から取得可能な情報に基づいて、スリープさせることにしても良い。   Therefore, the sleep unit 120 corresponds to the case where no thread generation from Apache (registered trademark) is observed for a certain period based on the monitoring of the thread generated on the guest OS by the monitoring unit 110. The guest OS determines that the request from the client is not processed, and sleeps the corresponding guest OS. Further, not only the thread but also the process generated in the guest OS, the number of open sockets, and the like may be set to sleep based on information that can be acquired from the guest OS.

メモリ制御部130は、スリープ部120によってスリープさせたゲストOSのメモリページを退避させてから解放する。例えば、メモリ制御部130は、スリープ部120によってスリープさせたゲストOSのメモリページを2次記憶領域に移動させ、ゲストOSのメモリページを解放する。かかる2次記憶領域は、例えば、物理メモリ、ディスク領域等を指す。また、物理メモリは、特定の領域を2次記憶領域とし、この領域を圧縮メモリ領域とすることも可能である。すなわち、2次記憶領域は、物理メモリ上に設けられた圧縮メモリ領域を指すこともある。   The memory control unit 130 saves and releases the memory page of the guest OS that has been put to sleep by the sleep unit 120. For example, the memory control unit 130 moves the memory page of the guest OS that has been put to sleep by the sleep unit 120 to the secondary storage area, and releases the memory page of the guest OS. Such a secondary storage area indicates, for example, a physical memory, a disk area, or the like. In the physical memory, a specific area can be used as a secondary storage area, and this area can be used as a compressed memory area. That is, the secondary storage area may refer to a compressed memory area provided on the physical memory.

レジューム部140は、スリープ部120によってスリープさせたゲストOSに対する特定イベントの発生を監視部110によって検知された場合に、ゲストOSをレジュームし、メモリ制御部130によって解放させたメモリページを読み込んで展開する。かかる特定イベントの一例としては、パケットが到着したこと、一定時間が経過したこと等が挙げられる。   The resume unit 140 resumes the guest OS when the occurrence of a specific event for the guest OS that has been put to sleep by the sleep unit 120 is detected, reads the memory page released by the memory control unit 130, and expands it To do. Examples of such specific events include the arrival of a packet and the passage of a certain time.

例えば、レジューム部140は、スリープ部120によってスリープさせたゲストOSに対するパケットが到着したことを監視部110によって検知された場合に、該当するゲストOSをレジュームすることで、スリープ状態からアクティブ状態へと遷移させる。ここで、ゲストOS管理装置100は、パケットの宛先IP(Internet Protocol)アドレス及び/又はポート番号と、ゲストOSとを対応付けて図示していない記憶部等に記憶しているとともに、各ゲストOSの状態(スリープ状態或いはアクティブ状態)を管理している。これらの情報を利用して、レジューム部140は、ゲストOSに対するパケットが到着したことを監視部110によって検知された場合に、パケットの送信先であるゲストOSがスリープ状態であるか否かを判定している。そして、レジューム部140は、メモリ制御部130によって2次記憶領域に移動させたメモリページを読み込み、メモリ上に復元する。これらにより、到着したパケットは、レジューム後のゲストOSに渡され処理される。なお、パケットの送信先であるゲストOSがアクティブ状態である場合に、レジューム部140は、パケットをそのまま転送する。   For example, when the monitoring unit 110 detects that a packet for a guest OS that has been put to sleep by the sleep unit 120 has arrived, the resume unit 140 resumes from the sleep state to the active state by resuming the corresponding guest OS. Transition. Here, the guest OS management device 100 stores the destination IP (Internet Protocol) address and / or port number of the packet in association with the guest OS in a storage unit (not shown), and each guest OS. Are managed (sleep state or active state). Using these pieces of information, when the monitoring unit 110 detects that a packet for the guest OS has arrived, the resume unit 140 determines whether or not the guest OS that is the transmission destination of the packet is in a sleep state. doing. Then, the resume unit 140 reads the memory page moved to the secondary storage area by the memory control unit 130 and restores it on the memory. As a result, the arriving packet is passed to the resumed guest OS for processing. Note that when the guest OS that is the packet transmission destination is in the active state, the resume unit 140 transfers the packet as it is.

また、別の例として、レジューム部140は、スリープ部120によってあるゲストOSをスリープさせる際にタイマをセットし、そのタイマがタイムアップして、予め定めていた一定時間が経過したと判定した場合に、該当するゲストOSをレジュームさせ、スリープ状態からアクティブ状態へと遷移させることもできる。   As another example, when the resume unit 140 sets a timer when the sleep unit 120 causes a guest OS to sleep, the timer expires and it is determined that a predetermined time has elapsed. In addition, the corresponding guest OS can be resumed and transition from the sleep state to the active state can be performed.

[スリープ処理の流れ]
次に、図5を用いて、実施例1に係るスリープ処理を説明する。図5は、実施例1に係るスリープ処理の流れの例を示すフローチャートである。なお、スリープ処理とは、主に、監視部110と、スリープ部120と、メモリ制御部130とによる処理を指す。
[Flow of sleep processing]
Next, the sleep process according to the first embodiment will be described with reference to FIG. FIG. 5 is a flowchart illustrating an example of the flow of the sleep process according to the first embodiment. Note that the sleep processing mainly refers to processing by the monitoring unit 110, the sleep unit 120, and the memory control unit 130.

例えば、図5に示すように、ゲストOS管理装置100は、ゲストOSの動作に関する状況を監視する(ステップS101)。ゲストOSの動作に関する状況については、例えば、物理メモリ、ディスク、ネットワークカード、CPU等のコンピュータ資源の利用状況と、プロセス又はスレッドの生成・消失、ファイルアクセス、パケットの送受信、例外の発生、オープン又はクローズしているソケット数、ゲストOSの状態を変化させる事象等の特定イベントの発生状況とが挙げられる。   For example, as shown in FIG. 5, the guest OS management apparatus 100 monitors the status related to the operation of the guest OS (step S101). Regarding the status related to the operation of the guest OS, for example, the usage status of computer resources such as physical memory, a disk, a network card, and a CPU, creation / disappearance of processes or threads, file access, packet transmission / reception, occurrence of exception, open The number of sockets that are closed and the occurrence status of a specific event such as an event that changes the state of the guest OS.

そして、ゲストOS管理装置100は、監視した状況が所定条件を満たすか否かを判定する(ステップS102)。所定条件について、ゲストOS管理装置100は、コンピュータ資源の利用状況を監視した場合に、一定期間の利用状況が所定条件(一定値)以下であるか否かを判定し、特定イベントの発生状況を監視した場合に、一定期間の発生状況が所定条件(一定値)以下であるか否かを判定する。   Then, the guest OS management device 100 determines whether or not the monitored situation satisfies a predetermined condition (step S102). For the predetermined condition, the guest OS management device 100 determines whether the usage status for a certain period is equal to or less than the predetermined condition (a constant value) when monitoring the usage status of the computer resource, and determines the occurrence status of the specific event. In the case of monitoring, it is determined whether or not the occurrence state for a certain period is below a predetermined condition (a certain value).

このとき、ゲストOS管理装置100は、監視した状況が所定条件を満たすと判定した場合に(ステップS102肯定)、該当するゲストOSをスリープさせる(ステップS103)。一方、ゲストOS管理装置100は、監視した状況が所定条件を満たさないと判定した場合に(ステップS102否定)、該当するゲストOSがアクティブであるため、再度ステップS101の処理を実行する。その後、ゲストOS管理装置100は、スリープさせたゲストOSによって利用されていたメモリページを2次記憶領域に移動させ、メモリを解放する(ステップS104)。   At this time, when the guest OS management device 100 determines that the monitored status satisfies the predetermined condition (Yes in step S102), the guest OS management device 100 sleeps the corresponding guest OS (step S103). On the other hand, when the guest OS management apparatus 100 determines that the monitored situation does not satisfy the predetermined condition (No at Step S102), the guest OS management apparatus 100 executes the process at Step S101 again because the corresponding guest OS is active. Thereafter, the guest OS management device 100 moves the memory page used by the guest OS that has been put to sleep to the secondary storage area, and releases the memory (step S104).

[レジューム処理の流れ]
次に、図6を用いて、実施例1に係るレジューム処理を説明する。図6は、実施例1に係るレジューム処理の流れの例を示すフローチャートである。なお、レジューム処理とは、主に、レジューム部140による処理を指す。
[Resume processing flow]
Next, the resume process according to the first embodiment will be described with reference to FIG. FIG. 6 is a flowchart illustrating an example of a resume process according to the first embodiment. The resume process mainly refers to a process performed by the resume unit 140.

例えば、図6に示すように、ゲストOS管理装置100は、ゲストOSに対するパケットが到着したことを検知した場合に(ステップS201肯定)、パケットの送信先のゲストOSがスリープ状態であるか否かを判定する(ステップS202)。このとき、ゲストOS管理装置100は、パケットの送信先のゲストOSがスリープ状態である場合に(ステップS202肯定)、該当するゲストOSをレジュームする(ステップS203)。   For example, as illustrated in FIG. 6, when the guest OS management device 100 detects that a packet for the guest OS has arrived (Yes in step S201), whether the guest OS that is the destination of the packet is in a sleep state or not. Is determined (step S202). At this time, the guest OS management device 100 resumes the corresponding guest OS when the guest OS that is the transmission destination of the packet is in the sleep state (Yes in step S202) (step S203).

そして、ゲストOS管理装置100は、スリープ状態であったゲストOSのメモリページを読み込み、メモリ上に復元する(ステップS204)。その後、ゲストOS管理装置100は、レジュームさせたゲストOSにパケットを転送する(ステップS205)。また、ゲストOS管理装置100は、ゲストOSに対するパケットが到着したことを検知していない場合に(ステップS201否定)、パケットの到着待ちの状態となる。また、ゲストOS管理装置100は、パケットの送信先のゲストOSがスリープ状態でない場合に(ステップS202否定)、この動作中のゲストOSにパケットを転送する(ステップS206)。   Then, the guest OS management device 100 reads the memory page of the guest OS that has been in the sleep state, and restores it to the memory (step S204). Thereafter, the guest OS management device 100 transfers the packet to the resumed guest OS (step S205). In addition, when the guest OS management device 100 does not detect that a packet for the guest OS has arrived (No in step S201), the guest OS management device 100 enters a state of waiting for arrival of a packet. In addition, when the guest OS to which the packet is transmitted is not in the sleep state (No at Step S202), the guest OS management apparatus 100 transfers the packet to the guest OS that is operating (Step S206).

[実施例1による効果]
ゲストOS管理装置100は、ゲストOSにおけるコンピュータ資源の利用状況やイベントの発生状況等に基づいて、利用されていないゲストOSをスリープさせ、スリープさせたゲストOSのメモリページを退避させ解放する。この結果、ゲストOS管理装置100は、利用していないゲストOSがメモリを占有する従来技術と比較して、メモリ領域を有効に利用することができる。
[Effects of Example 1]
The guest OS management device 100 sleeps a guest OS that is not being used based on the use status of a computer resource or the occurrence of an event in the guest OS, and saves and releases the memory page of the guest OS that has been put to sleep. As a result, the guest OS management device 100 can use the memory area more effectively than in the conventional technology in which the guest OS that is not used occupies the memory.

さて、これまで本発明に係るゲストOS管理100の実施例について説明したが、上述した実施例以外にも種々の異なる形態にて実施されてよいものである。そこで、(1)監視対象、(2)スリープの優先順位、(3)スリープの条件、(4)メモリの解放、(5)構成、(6)プログラム、において異なる実施例を説明する。   The embodiments of the guest OS management 100 according to the present invention have been described so far. However, the embodiments may be implemented in various different forms other than the embodiments described above. Therefore, different embodiments will be described in (1) monitoring target, (2) sleep priority, (3) sleep condition, (4) memory release, (5) configuration, and (6) program.

(1)監視対象
上記実施例では、コンピュータの資源利用状況を監視してゲストOSをスリープさせる場合と、イベントの発生状況を監視してゲストOSをスリープさせる場合とを説明したが、これら両方を監視して、両方のスリープの条件又は少なくともいずれか一方のスリープの条件を満たしたときに、ゲストOSをスリープさせても良い。これにより、監視対象を増やしてゲストOSをスリープさせるので、メモリ領域をより有効に利用することができる。
(1) Monitoring target In the above embodiment, the case where the guest OS is caused to sleep by monitoring the resource usage state of the computer and the case where the guest OS is caused to sleep by monitoring the event occurrence state have been described. The guest OS may be put to sleep when monitored and when both sleep conditions or at least one of the sleep conditions is satisfied. As a result, the number of monitoring targets is increased and the guest OS is put to sleep, so the memory area can be used more effectively.

(2)スリープの優先順位
また、上記実施例では、ゲストOSごとに独立してスリープの要否判定を実行する場合を説明した。本発明はこれに限られるものではなく、例えば、物理マシン全体のメモリを監視し、一定値以上のメモリが使用されるようになった場合、又は、所定期間に一定値以上のメモリが使用されている状況が続いた場合に、上記実施例を実行しても良い。具体的には、監視部110は、常にコンピュータ資源の利用状況を監視し、あるゲストOSの利用しているコンピュータ資源の監視状況が所定の条件を満たした場合も該ゲストOSをスリープさせずに、現在の状況を記憶しておき、該ゲストOSの実行を継続させる。また、物理マシンの物理メモリの利用状況が一定値以上になった場合に、スリープ部120は、記憶しておいたコンピュータ資源の利用状況に基づき、スリープさせる条件を満たすものをスリープさせていく。これにより、処理負荷を軽減できるとともに、必要以上にメモリを解放することなく、メモリ領域を有効に利用することができる。
(2) Sleep Priority In the above embodiment, the case where the necessity determination of sleep is executed independently for each guest OS has been described. The present invention is not limited to this. For example, when the memory of the entire physical machine is monitored and a memory of a certain value or more is used, or a memory of a certain value or more is used for a predetermined period. The above embodiment may be executed when the situation continues. Specifically, the monitoring unit 110 always monitors the use status of computer resources, and does not sleep the guest OS even when the monitor status of the computer resources used by a certain guest OS satisfies a predetermined condition. The current status is stored, and the execution of the guest OS is continued. In addition, when the usage status of the physical memory of the physical machine becomes a certain value or more, the sleep unit 120 sleeps those that satisfy the sleep condition based on the stored usage status of the computer resources. As a result, the processing load can be reduced, and the memory area can be used effectively without releasing the memory more than necessary.

さらに、例えば、特定のコンピュータ資源の利用量が予め定めた基準値を超えた場合に、予め定められたゲストOS間の優先順位、又は、1つ以上のゲストOSをグループ化したグループ間に定めた優先順位に基づいて、コンピュータ資源の利用量が一定値以下になるまでスリープさせても良い。具体的には、物理メモリの利用状況が一定値以上になり、ゲストOSを順次スリープさせていく際に、ゲストOS毎又は複数のゲストOSをまとめたグループ毎に優先度を予め設けておき、スリープ条件を満たしたゲストOSのうち、物理メモリの利用状況が一定値以下になるまで、この優先度に基づき優先度の低いものから順次スリープさせていく。これにより、より重要なサービスに対応するゲストOSを必要以上に停止することなく、メモリ領域を有効に利用することができる。   Further, for example, when the usage amount of a specific computer resource exceeds a predetermined reference value, a predetermined priority order among guest OSs or a group in which one or more guest OSs are grouped is determined. On the basis of the priority, the computer resource may be put to sleep until the usage amount of the computer resource becomes a predetermined value or less. Specifically, when the usage status of the physical memory becomes a certain value or more and the guest OSs are sequentially put to sleep, a priority is set in advance for each guest OS or for each group of guest OSes. Based on this priority, the guest OSs that satisfy the sleep condition are made to sleep in order from the lowest priority until the usage state of the physical memory falls below a certain value. As a result, the memory area can be used effectively without stopping the guest OS corresponding to a more important service more than necessary.

(3)スリープの条件
また、上記実施例では、ゲストOSをスリープさせる条件について特に個別に設定せずに、全てのゲストOSで共通である場合を説明したが、ゲストOSごとに異なる条件を設定しても良いし、ゲストOSをグループ化してグループごとに異なる条件を設定しても良い。これにより、サービスの利用度、関連度、重要度等に応じたゲストOSのスリープを実現することができる。
(3) Sleep conditions In the above embodiment, the case where the guest OS is set to sleep is not specifically set individually, but is common to all guest OSes. However, different conditions are set for each guest OS. Alternatively, guest OSs may be grouped and different conditions may be set for each group. As a result, it is possible to realize sleep of the guest OS according to service usage, relevance, importance, and the like.

(4)メモリの解放
また、上記実施例では、スリープさせたゲストOSのメモリページをメモリ制御部130により2次記憶領域に移動する場合を説明したが、仮想マシン管理ソフトウェア(ホストOSや仮想マシンモニタ)の機能で2次記憶領域に移動させるようにしても良い。また、レジュームした後のメモリの展開についても仮想マシン管理ソフトウェア(ホストOSや仮想マシンモニタ)の機能で実行させるようにしても良い。つまり、ゲストOSがスリープした場合には、一つの様態として、ゲストOSの利用していたメモリ領域にメモリアクセスが発生しなくなり、非アクティブのメモリとしてホストOS側が認識することになる。そして、ホストOSのメモリが逼迫してきた場合には、ホストOSのメモリ管理に係る機構が非アクティブのメモリをページアウトする。これらの結果、明示的にメモリページをレジュームと同時に全てページインさせることを要しない。これにより、本発明を適用する実施形態や要求されるパフォーマンスに応じて好適に処理させることができる。
(4) Release of memory In the above embodiment, the case where the memory page of the guest OS that has been put to sleep is moved to the secondary storage area by the memory control unit 130 has been described. However, virtual machine management software (host OS or virtual machine) You may make it move to a secondary storage area by the function of a monitor. Further, the development of the memory after the resume may be executed by the function of the virtual machine management software (host OS or virtual machine monitor). That is, when the guest OS sleeps, as one aspect, memory access does not occur in the memory area used by the guest OS, and the host OS side recognizes it as an inactive memory. When the memory of the host OS becomes tight, a mechanism related to memory management of the host OS pages out inactive memory. As a result, it is not necessary to explicitly page all memory pages at the same time as resuming. Thereby, it can be made to process suitably according to embodiment and the required performance which apply this invention.

(5)構成
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメタ等を含む情報(例えば、スリープ部120やレジューム部140の名称等)については、特記する場合を除いて任意に変更することができる。
(5) Configuration In addition, regarding the processing procedure, control procedure, specific name, information including various data and parameters, etc. (for example, names of the sleep unit 120 and the resume unit 140, etc.) shown in the above document and drawings It can be changed arbitrarily unless otherwise specified.

また、図示したゲストOS管理装置100の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合することができる。例えば、スリープ部120とレジューム部140とを、物理マシン上で動作する各ゲストOSのスリープやレジュームを制御する「ゲストOS制御部」として統合しても良い。   Each component of the illustrated guest OS management apparatus 100 is functionally conceptual and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to the one shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various burdens or usage conditions. Can be integrated. For example, the sleep unit 120 and the resume unit 140 may be integrated as a “guest OS control unit” that controls the sleep and resume of each guest OS operating on the physical machine.

また、ゲストOS管理装置100にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、或いは、ワイヤードロジックによるハードウェアとして実現され得る。   Each processing function performed in the guest OS management device 100 is realized in whole or in part by a CPU (Central Processing Unit) and a program that is analyzed and executed by the CPU, or wired logic. It can be realized as hardware.

(6)プログラム
図7は、ゲストOS管理プログラムによる処理がコンピュータを用いて具体的に実現されることを示す図である。図7に例示するように、コンピュータ1000は、例えば、メモリ1001と、CPU1002と、ハードディスクドライブインタフェース1003と、ディスクドライブインタフェース1004と、シリアルポートインタフェース1005と、ビデオアダプタ1006と、ネットワークインタフェース1007とを有し、これらの各部はバス1008によって接続される。
(6) Program FIG. 7 is a diagram showing that the processing by the guest OS management program is specifically realized using a computer. As illustrated in FIG. 7, the computer 1000 includes, for example, a memory 1001, a CPU 1002, a hard disk drive interface 1003, a disk drive interface 1004, a serial port interface 1005, a video adapter 1006, and a network interface 1007. These units are connected by a bus 1008.

メモリ1001は、図7に例示するように、ROM(Read Only Memory)1001a及びRAM(Random Access Memory)1001bを含む。ROM1001aは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1003は、図7に例示するように、ハードディスクドライブ1009に接続される。ディスクドライブインタフェース1004は、図7に例示するように、ディスクドライブ1010に接続される。例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1010に挿入される。シリアルポートインタフェース1005は、図7に例示するように、例えばマウス1011、キーボード1012に接続される。ビデオアダプタ1006は、図7に例示するように、例えばディスプレイ1013に接続される。   As illustrated in FIG. 7, the memory 1001 includes a ROM (Read Only Memory) 1001a and a RAM (Random Access Memory) 1001b. The ROM 1001a stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1003 is connected to the hard disk drive 1009 as illustrated in FIG. The disk drive interface 1004 is connected to the disk drive 1010 as illustrated in FIG. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1010. The serial port interface 1005 is connected to, for example, a mouse 1011 and a keyboard 1012 as illustrated in FIG. The video adapter 1006 is connected to a display 1013, for example, as illustrated in FIG.

ここで、図7に例示するように、ハードディスクドライブ1009は、例えば、OS1009a、アプリケーションプログラム1009b、プログラムモジュール1009c、プログラムデータ1009dを記憶する。すなわち、ゲストOS管理プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1009cとして、例えばハードディスクドライブ1009に記憶される。具体的には、上記実施例で説明した監視部110と同様の処理を実行する監視手順と、スリープ部120と同様の処理を実行するスリープ手順と、メモリ制御部130と同様の処理を実行するメモリ制御手順と、レジューム部140と同様の処理を実行するレジューム手順とが記述されたプログラムモジュール1009cが、ハードディスクドライブ1009に記憶される。また、ゲストOS管理プログラムによる処理に用いられるデータは、プログラムデータ1009dとして、例えばハードディスクドライブ1009に記憶される。そして、CPU1002が、ハードディスクドライブ1009に記憶されたプログラムモジュール1009cやプログラムデータ1009dを必要に応じてRAM1001bに読み出し、監視手順、スリープ手順、メモリ制御手順、レジューム手順を実行する。   Here, as illustrated in FIG. 7, the hard disk drive 1009 stores, for example, an OS 1009a, an application program 1009b, a program module 1009c, and program data 1009d. That is, the guest OS management program is stored in, for example, the hard disk drive 1009 as a program module 1009c in which a command executed by the computer 1000 is described. Specifically, a monitoring procedure for executing processing similar to that of the monitoring unit 110 described in the above embodiment, a sleep procedure for executing processing similar to that of the sleep unit 120, and processing similar to that of the memory control unit 130 are executed. The hard disk drive 1009 stores a program module 1009c in which a memory control procedure and a resume procedure for executing the same processing as the resume unit 140 are described. Further, data used for processing by the guest OS management program is stored as, for example, the hard disk drive 1009 as program data 1009d. The CPU 1002 reads the program module 1009c and program data 1009d stored in the hard disk drive 1009 to the RAM 1001b as necessary, and executes a monitoring procedure, a sleep procedure, a memory control procedure, and a resume procedure.

なお、ゲストOS管理プログラムに係るプログラムモジュール1009cやプログラムデータ1009dは、ハードディスクドライブ1009に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1010等を介してCPU1002によって読み出されてもよい。あるいは、ゲストOS管理プログラムに係るプログラムモジュール1009cやプログラムデータ1009dは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1007を介してCPU1002によって読み出されてもよい。   Note that the program module 1009c and program data 1009d related to the guest OS management program are not limited to being stored in the hard disk drive 1009, but are stored in, for example, a removable storage medium and read by the CPU 1002 via the disk drive 1010 or the like. May be. Alternatively, the program module 1009c and program data 1009d relating to the guest OS management program are stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.), and the network interface 1007 May be read by the CPU 1002.

100 ゲストOS管理装置
110 監視部
120 スリープ部
130 メモリ制御部
140 レジューム部
100 guest OS management device 110 monitoring unit 120 sleep unit 130 memory control unit 140 resume unit

Claims (7)

自装置上に構築された仮想マシン上で動作するOS(Operating System)を示すゲストOSの動作に関する状況を監視する監視部と、
前記監視部によって監視した状況が所定条件を満たす場合に、前記ゲストOSをスリープさせるスリープ部と、
前記スリープ部によってスリープさせたゲストOSのメモリページを退避させてから解放するメモリ制御部と
を有することを特徴とするゲストOS管理装置。
A monitoring unit for monitoring the status related to the operation of the guest OS indicating the OS (Operating System) operating on the virtual machine constructed on the own device;
A sleep unit that causes the guest OS to sleep when a situation monitored by the monitoring unit satisfies a predetermined condition;
A guest OS management apparatus comprising: a memory control unit that saves and then releases a memory page of the guest OS that has been put to sleep by the sleep unit.
前記監視部は、前記スリープ部によってスリープさせたゲストOSに対する特定イベントの発生を監視し、
前記監視部によって監視した、前記スリープ部によってスリープさせたゲストOSに対する特定イベントの発生を検知した場合に前記ゲストOSをレジュームし、前記メモリ制御部によって解放させたメモリページを読み込んで展開するレジューム部をさらに有することを特徴とする請求項1に記載のゲストOS管理装置。
The monitoring unit monitors the occurrence of a specific event for the guest OS that is put to sleep by the sleep unit,
Resume unit that resumes the guest OS and reads and expands the memory page released by the memory control unit when the occurrence of a specific event detected by the sleep unit is detected by the monitoring unit. The guest OS management apparatus according to claim 1, further comprising:
前記監視部は、前記ゲストOSの所定コンピュータ資源の利用状況を監視し、
前記スリープ部は、前記監視部によって監視した所定コンピュータ資源の利用状況が所定条件以下である場合に、前記ゲストOSをスリープさせることを特徴とする請求項1又は2に記載のゲストOS管理装置。
The monitoring unit monitors a usage status of a predetermined computer resource of the guest OS,
The guest OS management apparatus according to claim 1, wherein the sleep unit causes the guest OS to sleep when the usage status of the predetermined computer resource monitored by the monitoring unit is equal to or less than a predetermined condition.
前記監視部は、前記ゲストOSの所定イベントの発生状況を監視し、
前記スリープ部は、前記監視部によって監視した所定イベントの発生状況が所定条件以下である場合に、前記ゲストOSをスリープさせることを特徴とする請求項1又は2に記載のゲストOS管理装置。
The monitoring unit monitors the occurrence of a predetermined event of the guest OS,
The guest OS management apparatus according to claim 1, wherein the sleep unit causes the guest OS to sleep when an occurrence state of a predetermined event monitored by the monitoring unit is equal to or less than a predetermined condition.
前記スリープ部は、特定のコンピュータ資源の利用量が予め定めた基準値を超えた場合に、予め定められたゲストOS間の優先順位、又は、1つ以上のゲストOSをグループ化したグループ間に定めた優先順位に基づいて、コンピュータ資源の利用量が一定値以下になるまでスリープさせることを特徴とする請求項1〜4のいずれか一つに記載のゲストOS管理装置。   When the usage amount of a specific computer resource exceeds a predetermined reference value, the sleep unit determines a predetermined priority between guest OSes or a group in which one or more guest OSs are grouped. 5. The guest OS management apparatus according to claim 1, wherein sleep is performed until the usage amount of a computer resource becomes a predetermined value or less based on a predetermined priority order. ゲストOS(Operating System)管理装置で実行されるゲストOS管理方法であって、
前記ゲストOS管理装置上に構築された仮想マシン上で動作するOSを示すゲストOSの動作に関する状況を監視する監視工程と、
前記監視工程によって監視した状況が所定条件を満たす場合に、前記ゲストOSをスリープさせるスリープ工程と、
前記スリープ工程によってスリープさせたゲストOSのメモリページを退避させてから解放するメモリ制御工程と
を含んだことを特徴とするゲストOS管理方法。
A guest OS management method executed by a guest OS (Operating System) management device,
A monitoring step of monitoring a status related to the operation of the guest OS indicating the OS operating on the virtual machine constructed on the guest OS management device;
A sleep step of causing the guest OS to sleep when the situation monitored by the monitoring step satisfies a predetermined condition;
And a memory control step of saving and releasing the memory page of the guest OS that has been put to sleep by the sleep step.
コンピュータを請求項1〜5に記載のゲストOS(Operating System)管理装置として機能させるためのゲストOS管理プログラム。   A guest OS management program for causing a computer to function as a guest OS (Operating System) management device according to claim 1.
JP2011112790A 2011-05-19 2011-05-19 Guest os management device, guest os management method, and guest os management program Pending JP2012243096A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011112790A JP2012243096A (en) 2011-05-19 2011-05-19 Guest os management device, guest os management method, and guest os management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011112790A JP2012243096A (en) 2011-05-19 2011-05-19 Guest os management device, guest os management method, and guest os management program

Publications (1)

Publication Number Publication Date
JP2012243096A true JP2012243096A (en) 2012-12-10

Family

ID=47464740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011112790A Pending JP2012243096A (en) 2011-05-19 2011-05-19 Guest os management device, guest os management method, and guest os management program

Country Status (1)

Country Link
JP (1) JP2012243096A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191776A (en) * 2013-03-28 2014-10-06 Fujitsu Ltd Virtual machine control program, virtual machine control method, virtual machine control device, and cloud system
JP2014191368A (en) * 2013-03-26 2014-10-06 Fujitsu Ltd Management program, management apparatus, and management method
JP2017033331A (en) * 2015-08-03 2017-02-09 富士通株式会社 Proxy response program, proxy response device, and proxy response method
JP2017517812A (en) * 2014-06-24 2017-06-29 インテル コーポレイション Virtual machine power management
WO2019123740A1 (en) * 2017-12-20 2019-06-27 コニカミノルタ株式会社 Central management device and method for subject monitoring assistance system, and said subject monitoring assistance system
CN110178117A (en) * 2017-02-24 2019-08-27 株式会社东芝 Control device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258982A (en) * 2008-04-16 2009-11-05 Ntt Docomo Inc Node device, program, and resource-allocating method
JP2010224914A (en) * 2009-03-24 2010-10-07 Ntt Data Corp Instance management system and computer program
JP2011060238A (en) * 2009-09-14 2011-03-24 Ricoh Co Ltd Information processor, image forming apparatus, operation mode switching method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258982A (en) * 2008-04-16 2009-11-05 Ntt Docomo Inc Node device, program, and resource-allocating method
JP2010224914A (en) * 2009-03-24 2010-10-07 Ntt Data Corp Instance management system and computer program
JP2011060238A (en) * 2009-09-14 2011-03-24 Ricoh Co Ltd Information processor, image forming apparatus, operation mode switching method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014191368A (en) * 2013-03-26 2014-10-06 Fujitsu Ltd Management program, management apparatus, and management method
US9542217B2 (en) 2013-03-26 2017-01-10 Fujitsu Limited System, method, and recording medium
JP2014191776A (en) * 2013-03-28 2014-10-06 Fujitsu Ltd Virtual machine control program, virtual machine control method, virtual machine control device, and cloud system
JP2017517812A (en) * 2014-06-24 2017-06-29 インテル コーポレイション Virtual machine power management
JP2017033331A (en) * 2015-08-03 2017-02-09 富士通株式会社 Proxy response program, proxy response device, and proxy response method
US10191760B2 (en) 2015-08-03 2019-01-29 Fujitsu Limited Proxy response program, proxy response device and proxy response method
CN110178117A (en) * 2017-02-24 2019-08-27 株式会社东芝 Control device
CN110178117B (en) * 2017-02-24 2023-06-02 株式会社东芝 Control device
WO2019123740A1 (en) * 2017-12-20 2019-06-27 コニカミノルタ株式会社 Central management device and method for subject monitoring assistance system, and said subject monitoring assistance system

Similar Documents

Publication Publication Date Title
US11181970B2 (en) System and method for performing distributed power management without power cycling hosts
JP4980792B2 (en) Virtual machine performance monitoring method and apparatus using the method
US7849286B2 (en) Method for dynamic load balancing on partitioned systems
US8307369B2 (en) Power control method for virtual machine and virtual computer system
CN112955871B (en) Resource conservation in containerized systems
CN103176845B (en) A kind of virtual machine deployment method, system and device
JP2009145931A (en) Migration method between virtual computer and physical computer and computer system thereof
US20200034073A1 (en) Accelerating background tasks in a computing cluster
Deshpande et al. Scatter-gather live migration of virtual machines
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
JP4811830B1 (en) Computer resource control system
JP2012243096A (en) Guest os management device, guest os management method, and guest os management program
JP6123626B2 (en) Process resumption method, process resumption program, and information processing system
US10310890B2 (en) Control method for virtual machine system, and virtual machine system
JP2010086145A (en) Distributed processing system
EP4332764A1 (en) Virtual machine migration method and related apparatus
Fukai et al. Live migration in bare-metal clouds
JP2003162515A (en) Cluster system
Zhi et al. Oasis: energy proportionality with hybrid server consolidation
US8799903B1 (en) Systems and methods for exchanging runtime functionalities between software stacks
JP5597293B2 (en) Computer system and program
JP5557612B2 (en) Computer and transfer program
US20180341482A1 (en) Method and arrangement for utilization of a processing arrangement
JP5390651B2 (en) Computer system and program
JP2008165318A (en) Computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141202