[go: up one dir, main page]

JP2008242999A - Information processing apparatus and memory dump method - Google Patents

Information processing apparatus and memory dump method Download PDF

Info

Publication number
JP2008242999A
JP2008242999A JP2007085162A JP2007085162A JP2008242999A JP 2008242999 A JP2008242999 A JP 2008242999A JP 2007085162 A JP2007085162 A JP 2007085162A JP 2007085162 A JP2007085162 A JP 2007085162A JP 2008242999 A JP2008242999 A JP 2008242999A
Authority
JP
Japan
Prior art keywords
dump
area
processing unit
application program
information
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.)
Withdrawn
Application number
JP2007085162A
Other languages
Japanese (ja)
Inventor
Seiji Akuchi
誠司 阿口
Akira Kato
加藤  明
Noboru Obata
昇 小幡
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007085162A priority Critical patent/JP2008242999A/en
Publication of JP2008242999A publication Critical patent/JP2008242999A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】メモリをダンプしながら、プログラムを迅速に再起動することができるようにする。
【解決手段】情報処理装置は、プログラムの起動処理中に、メモリへのアクセス要求を取得し、取得したアクセス要求に含まれるアクセス対象の記憶領域を指定する領域指定情報と、アクセス要求の取得順とを記憶し、プログラムの起動処理終了後、実行中のプログラムの実行を停止し、プログラムの実行停止後、アクセスパターン記憶部に記憶されている領域指定情報と上記取得順とを読み出し、上記取得順に、各領域指定情報が示す記憶領域の内容をダンプし、ダンプ中にプログラムを起動する。
【選択図】図1
A program can be restarted quickly while dumping memory.
An information processing apparatus acquires an access request to a memory during a program activation process, area specifying information for specifying a storage area to be accessed included in the acquired access request, and an access request acquisition order Is stored, and after the start processing of the program is finished, the execution of the program being executed is stopped, and after the execution of the program is stopped, the area designation information stored in the access pattern storage unit and the acquisition order are read and the acquisition In order, the contents of the storage area indicated by each area designation information are dumped, and the program is started during the dump.
[Selection] Figure 1

Description

本発明は、情報処理装置およびメモリダンプ方法に関する。   The present invention relates to an information processing apparatus and a memory dump method.

情報処理装置においてプログラムの障害時などにメモリの内容をダンプすることが行われている。特許文献1に記載のシステムでは、オペレーティングシステムに障害が発生した際に、オペレーティングシステムのロードに必要なメモリ領域をダンプした後、オペレーティングシステムを再ロードし、使用しようとするメモリ領域がダンプ済みでなければ使用する前にダンプするとともに、ダンプ済みでないメモリ領域を順次ダンプするようにして、プログラムの再起動までの時間を短縮している。
特開平10−333944号公報
In an information processing apparatus, the contents of a memory are dumped when a program failure occurs. In the system described in Patent Literature 1, when a failure occurs in the operating system, after the memory area necessary for loading the operating system is dumped, the operating system is reloaded and the memory area to be used is already dumped. If not, it dumps before use, and dumps the memory area that has not been dumped in order to shorten the time until the program is restarted.
JP-A-10-333944

特許文献1に記載のシステムでは、オペレーティングシステムの起動処理とメモリのダンプ処理とが並行して実行される。しかし、特許文献1に記載のシステムでは、オペレーティングシステムの起動処理中にアクセスされるメモリ領域は、必ずしもダンプされているとは限らない。起動処理中にダンプ済みでない領域に対するアクセスされると、アクセスの度にダンプ処理が行われ、そのダンプ処理の後にメモリへのアクセスが行われることになり、オペレーティングシステムの起動処理には時間がかかってしまう。   In the system described in Patent Document 1, the operating system startup process and the memory dump process are executed in parallel. However, in the system described in Patent Document 1, the memory area accessed during the operating system startup process is not always dumped. When an area that has not been dumped is accessed during startup processing, dump processing is performed each time access is performed, and memory is accessed after the dump processing, and the startup processing of the operating system takes time. End up.

本発明は、このような背景を鑑みてなされたものであり、メモリをダンプしながら、プログラムを迅速に再起動することのできる情報処理装置およびメモリダンプ方法を提供することを目的とする。   The present invention has been made in view of such a background, and an object of the present invention is to provide an information processing apparatus and a memory dump method that can quickly restart a program while dumping a memory.

上記課題を解決するための本発明の主たる発明は、情報処理装置であって、CPUと、メモリと、前記CPUにより実行されるアプリケーションプログラムの起動処理中に、前記アプリケーションプログラムから前記メモリへのアクセス要求を複数取得するアクセス要求取得部と、前記アクセス要求に含まれる、アクセス対象の記憶領域を指定する情報である領域指定情報、および前記アクセス要求の取得順を記憶するアクセスパターン記憶部と、前記アプリケーションプログラムの起動処理終了後、実行中の前記アプリケーションプログラムの実行を停止させる停止処理部と、前記アプリケーションプログラムの実行停止後、前記アクセスパターン記憶部から前記領域指定情報および前記取得順を読み出し、前記取得順に、各前記領域指定情報により指定される前記記憶領域の内容をダンプするダンプ処理部と、前記ダンプ処理部によるダンプ中に、前記アプリケーションプログラムを起動する再起動処理部と、を備えることとする。   A main invention of the present invention for solving the above-described problem is an information processing apparatus, wherein a CPU, a memory, and an access to the memory from the application program during a startup process of the application program executed by the CPU An access request acquisition unit that acquires a plurality of requests; an area designation information that is information that specifies an access target storage area included in the access request; and an access pattern storage unit that stores an acquisition order of the access requests; After the start processing of the application program, a stop processing unit that stops the execution of the application program that is being executed, and after the execution of the application program is stopped, the area designation information and the acquisition order are read from the access pattern storage unit, Specify each area in the order of acquisition And dump processor to dump the contents of the storage area specified by the broadcast, during the dump by the dump processing unit, and be provided with a restart processing unit that activates the application program.

本発明によれば、メモリをダンプしながら、プログラムを迅速に再起動することができる。   According to the present invention, it is possible to quickly restart a program while dumping a memory.

図1は、本発明の一実施形態に係る情報処理装置10のハードウェア構成図である。本実施形態の情報処理装置10は、パーソナルコンピュータやワークステーションなどの一般的なコンピュータを想定している。図1に示すように、情報処理装置10は、物理CPU11、物理メモリ12、記憶装置13、入力装置14、出力装置15を備えている。記憶装置13は、各種のプログラムやデータを記憶する、例えばハードディスクドライブやCD−ROMドライブ、フラッシュメモリなどである。物理CPU11は各種の演算処理を行い情報処理装置10の制御を司る。物理CPU11は記憶装置13に記憶されているプログラムを物理メモリ12に読み出して実行することにより各種の機能を実現する。入力装置14は、情報の入力を受け付けるキーボードやマウス、タッチパネル、マイクロフォンなどであり、出力装置15は、情報を出力するディスプレイやプリンタ、スピーカなどである。   FIG. 1 is a hardware configuration diagram of an information processing apparatus 10 according to an embodiment of the present invention. The information processing apparatus 10 according to the present embodiment is assumed to be a general computer such as a personal computer or a workstation. As illustrated in FIG. 1, the information processing apparatus 10 includes a physical CPU 11, a physical memory 12, a storage device 13, an input device 14, and an output device 15. The storage device 13 is, for example, a hard disk drive, a CD-ROM drive, or a flash memory that stores various programs and data. The physical CPU 11 performs various arithmetic processes and controls the information processing apparatus 10. The physical CPU 11 implements various functions by reading the program stored in the storage device 13 into the physical memory 12 and executing it. The input device 14 is a keyboard, mouse, touch panel, microphone, or the like that accepts input of information, and the output device 15 is a display, printer, speaker, or the like that outputs information.

本実施形態の情報処理装置10では、物理CPU11や物理メモリ12、記憶装置13などの各種の資源を論理的に分割し、論理区画ごとに異なる資源を割り当てて仮想的なコンピュータを実現する、いわゆるサーバ仮想化(以下、単に仮想化という。)が行われる。なお、以下の説明において、各論理区画において仮想化された物理CPU11を仮想CPUといい、仮想化された物理メモリ12を仮想メモリという。仮想化されたコンピュータ上では、オペレーティングシステム(ゲストオペレーティングシステムと呼ばれる。以下、ゲストOSと略記する。)が動作する。   In the information processing apparatus 10 of the present embodiment, various resources such as the physical CPU 11, the physical memory 12, and the storage device 13 are logically divided, and different resources are assigned to each logical partition to realize a virtual computer. Server virtualization (hereinafter simply referred to as virtualization) is performed. In the following description, the physical CPU 11 virtualized in each logical partition is referred to as a virtual CPU, and the virtualized physical memory 12 is referred to as a virtual memory. On the virtualized computer, an operating system (called a guest operating system, hereinafter abbreviated as a guest OS) operates.

仮想化が行われた情報処理装置10の論理構成を図2に示す。同図に示すように、本実施形態の情報処理装置10では、ゲストOS20およびハイパバイザ30が実行される。物理メモリ12には、ハイパバイザ30に割り当てられた記憶領域であるハイパバイザ領域121と、ゲストOS20に割り当てられた記憶領域であるゲストOS領域122とが確保される。   FIG. 2 shows a logical configuration of the information processing apparatus 10 that has been virtualized. As shown in the figure, in the information processing apparatus 10 of this embodiment, a guest OS 20 and a hypervisor 30 are executed. In the physical memory 12, a hypervisor area 121 that is a storage area allocated to the hypervisor 30 and a guest OS area 122 that is a storage area allocated to the guest OS 20 are secured.

ゲストOS20からの仮想CPUに対する演算命令や仮想メモリへのアクセス要求(以下、メモリアクセス要求という。)は、ハイパバイザ30により物理CPU11への演算命令や物理メモリ12に対するアクセス要求に変換される。このようなハイパバイザ30による変換処理により、情報処理装置10における仮想化が実現される。なお、以下の説明ではメモリアクセス要求に係る処理についてのみ説明する。   Arithmetic commands and virtual memory access requests from the guest OS 20 (hereinafter referred to as memory access requests) are converted by the hypervisor 30 into arithmetic commands to the physical CPU 11 and physical memory 12 access requests. By such conversion processing by the hypervisor 30, virtualization in the information processing apparatus 10 is realized. In the following description, only processing related to the memory access request will be described.

図3は、本実施形態に係る情報処理装置10の機能ブロック図である。同図に示すように、情報処理装置10は、ゲストOS20およびハイパバイザ30を備えており、ゲストOS20はメモリアクセス要求送信部21および障害通知部22を備え、ハイパバイザ30は、アクセスパターンテーブル31、ダンプ出力テーブル32、サイズ管理テーブル33、アクセスパターンテーブル作成部41、ダンプ出力テーブル作成部42、サイズ管理テーブル登録部43、メモリアクセス要求受信部44、メモリアクセス処理部45、障害検知部46、ゲストOS停止処理部47、ゲストOS起動処理部48、ダンプ処理部49を備えている。   FIG. 3 is a functional block diagram of the information processing apparatus 10 according to the present embodiment. As shown in the figure, the information processing apparatus 10 includes a guest OS 20 and a hypervisor 30, and the guest OS 20 includes a memory access request transmission unit 21 and a failure notification unit 22. The hypervisor 30 includes an access pattern table 31, a dump Output table 32, size management table 33, access pattern table creation unit 41, dump output table creation unit 42, size management table registration unit 43, memory access request reception unit 44, memory access processing unit 45, failure detection unit 46, guest OS A stop processing unit 47, a guest OS activation processing unit 48, and a dump processing unit 49 are provided.

メモリアクセス要求送信部21は、アクセスの対象となる仮想メモリの記憶領域を指定したメモリアクセス要求をハイパバイザ30に送信する。なお、本実施形態では、物理メモリ12および仮想メモリの記憶領域は、物理メモリ12上のアドレス(以下、物理アドレスという。)または仮想メモリ上のアドレス(以下、仮想アドレスという。)と、ブロック数とで表されるものとする。   The memory access request transmission unit 21 transmits a memory access request designating a storage area of the virtual memory to be accessed to the hypervisor 30. In this embodiment, the storage areas of the physical memory 12 and the virtual memory are addresses on the physical memory 12 (hereinafter referred to as physical addresses) or addresses on the virtual memory (hereinafter referred to as virtual addresses), and the number of blocks. It shall be represented by.

障害通知部22は、ゲストOS20で障害が発生した場合に、その旨をハイパバイザ30に通知する。障害通知部22は、例えば仮想CPUに対する割り込みなどにより障害を通知する。   When a failure occurs in the guest OS 20, the failure notification unit 22 notifies the hypervisor 30 to that effect. The failure notification unit 22 notifies the failure by, for example, an interrupt to the virtual CPU.

サイズ管理テーブル33は、各種のデータサイズについての設定値を管理する。図4にサイズ管理テーブル33の構成例を示す。同図に示すように、サイズ管理テーブル33は、アクセスパターンサイズ331、コアサイズ332およびブロックサイズ333を管理している。アクセスパターンサイズ331は、後述するアクセスパターンテーブル31の大きさを示す。コアサイズ332は、ゲストOS20の起動開始に必要な記憶領域の大きさを示す。コアサイズ332は、例えば、ゲストOS20を実現するためのアプリケーションプログラム(以下、OSプログラムという。)を物理メモリ12上に読み出すためのローダプログラムのデータサイズやOSプログラム自身のデータサイズなどとすることができる。ブロックサイズ333は、物理メモリ12および仮想メモリを構成するブロックの大きさである。なお、本実施形態では、物理メモリ12および仮想メモリはブロック単位で管理されるものとする。
サイズ管理テーブル登録部43は、入力装置14を介して、ユーザからアクセスパターンサイズ331やコアサイズ332、ブロックサイズ333の入力を受け付け、受け付けた値をサイズ管理テーブル33に登録する。
The size management table 33 manages setting values for various data sizes. FIG. 4 shows a configuration example of the size management table 33. As shown in the figure, the size management table 33 manages an access pattern size 331, a core size 332, and a block size 333. The access pattern size 331 indicates the size of the access pattern table 31 described later. The core size 332 indicates the size of a storage area required for starting the guest OS 20. The core size 332 may be, for example, a data size of a loader program for reading an application program (hereinafter referred to as an OS program) for realizing the guest OS 20 on the physical memory 12 or a data size of the OS program itself. it can. The block size 333 is the size of the blocks constituting the physical memory 12 and the virtual memory. In this embodiment, it is assumed that the physical memory 12 and the virtual memory are managed in units of blocks.
The size management table registration unit 43 receives input of the access pattern size 331, core size 332, and block size 333 from the user via the input device 14, and registers the received values in the size management table 33.

アクセスパターンテーブル31は、ゲストOS20の起動処理中において、ゲストOS20からアクセスされた物理メモリ12の領域と、そのアクセス順と(以下、アクセスパターンという。)を記憶する。アクセスパターンテーブル31の構成例を図5に示す。図5の例では、アクセスパターンテーブル31には、アクセスされたブロックの物理アドレスが、アクセスされた順に格納されている。本実施形態では、ゲストOS20の起動後、ゲストOS20からメモリアクセス要求を受信するごとに、アクセスの対象となるブロックを示す物理アドレスがアクセスパターンテーブル31の最後尾に追加されていくものとし、同一のメモリアクセス要求に基づいて複数のブロックに対してアクセスが行われた場合には、各ブロックについての物理アドレスのそれぞれをアクセスパターンテーブル31に格納するものとする。   The access pattern table 31 stores the area of the physical memory 12 accessed from the guest OS 20 and the access order (hereinafter referred to as an access pattern) during the startup process of the guest OS 20. A configuration example of the access pattern table 31 is shown in FIG. In the example of FIG. 5, the access pattern table 31 stores the physical addresses of the accessed blocks in the order of access. In the present embodiment, after starting the guest OS 20, every time a memory access request is received from the guest OS 20, a physical address indicating a block to be accessed is added to the end of the access pattern table 31, and the same. When a plurality of blocks are accessed based on the memory access request, each physical address for each block is stored in the access pattern table 31.

なお、本実施形態において、ゲストOS20が起動処理中である期間とは、ゲストOS20が起動してから、所定数(サイズ管理テーブル33のアクセスパターンサイズ331に基づいて求められる。)のブロックに対してアクセスが行われるまでの期間とする。起動処理中の期間としては、例えば、ゲストOS20が起動してから、ゲストOS20から送信される仮想CPUへの演算命令の個数が所定の数を超えるまでの期間や、ゲストOS20が起動してから、ユーザのログインを受け付けるプロセスが起動されるまでの期間を採用することもできる。   In the present embodiment, the period during which the guest OS 20 is in the startup process refers to a predetermined number of blocks (obtained based on the access pattern size 331 of the size management table 33) after the guest OS 20 starts up. The period until access is made. As a period during the activation process, for example, a period from when the guest OS 20 is activated until the number of operation instructions to the virtual CPU transmitted from the guest OS 20 exceeds a predetermined number, or after the guest OS 20 is activated. It is also possible to employ a period until a process for accepting user login is started.

アクセスパターンテーブル作成部41は、アクセスパターンテーブル31を作成する。なお、アクセスパターンテーブル31の作成処理の詳細については後述する。   The access pattern table creation unit 41 creates the access pattern table 31. Details of the process of creating the access pattern table 31 will be described later.

ダンプ出力テーブル32は、ダンプされたゲストOS領域122中の記憶領域を管理する。本実施形態では、ダンプ出力テーブル32は、ブロックごとにダンプされたかどうかを管理する。ダンプ出力テーブル32の構成例を図6に示す。同図に示すように、ダンプ出力テーブル32には、ブロックの先頭を示す物理アドレス321に対応付けて、ブロックの内容がダンプされたかどうかを示す出力フラグ322が格納される。出力フラグ322には、ブロックの内容が既にダンプされたことを示す「完了」または、未だダンプされていないことを示す「未完了」のいずれかが設定される。
ダンプ出力テーブル作成部42は、ゲストOS領域122に係るダンプ処理の開始時にダンプ出力テーブル32を作成する。なお、ダンプ出力テーブルの作成処理の詳細については後述する。
The dump output table 32 manages the storage area in the guest OS area 122 that has been dumped. In the present embodiment, the dump output table 32 manages whether or not each block is dumped. A configuration example of the dump output table 32 is shown in FIG. As shown in the figure, the dump output table 32 stores an output flag 322 indicating whether or not the contents of the block have been dumped in association with the physical address 321 indicating the head of the block. The output flag 322 is set to either “complete” indicating that the contents of the block have already been dumped or “incomplete” indicating that the block has not been dumped yet.
The dump output table creation unit 42 creates the dump output table 32 at the start of dump processing related to the guest OS area 122. Details of the dump output table creation process will be described later.

メモリアクセス要求受信部44は、ゲストOS20のメモリアクセス要求送信部21が送信したアクセス要求を受信する。
メモリアクセス処理部45は、受信したメモリアクセス要求に応じて物理メモリ12に対するデータの入出力処理を行う。メモリアクセス処理部45による物理メモリ12に対する入出力処理の流れを図7に示す。なお、図7は、ゲストOS領域122のダンプ処理が行われていない場合の入出力処理の流れを示しており、ダンプ処理中における物理メモリ12への入出力処理については後述する。
The memory access request reception unit 44 receives the access request transmitted by the memory access request transmission unit 21 of the guest OS 20.
The memory access processing unit 45 performs data input / output processing for the physical memory 12 in response to the received memory access request. The flow of input / output processing for the physical memory 12 by the memory access processing unit 45 is shown in FIG. FIG. 7 shows the flow of input / output processing when dump processing of the guest OS area 122 is not performed, and input / output processing to the physical memory 12 during dump processing will be described later.

図7に示すように、メモリアクセス処理部45は、メモリアクセス要求に含まれる仮想アドレスおよびブロック数を取得し(S501)、取得した仮想アドレスを物理アドレスに変換する(S502)。仮想アドレスから物理アドレスへの変換は、例えば、ゲストOS領域122の先頭の物理アドレスに、仮想アドレスを加算することにより求められる。メモリアクセス処理部45は、変数Nを0に初期化し(S503)、Nがブロック数になれば処理を終了する(S504:YES)。   As shown in FIG. 7, the memory access processing unit 45 acquires the virtual address and the number of blocks included in the memory access request (S501), and converts the acquired virtual address into a physical address (S502). The conversion from the virtual address to the physical address is obtained, for example, by adding the virtual address to the top physical address of the guest OS area 122. The memory access processing unit 45 initializes the variable N to 0 (S503), and ends the process when N becomes the number of blocks (S504: YES).

Nがブロック数になっていなければ(S504:NO)、メモリアクセス処理部45は、Nとサイズ管理テーブル33のブロックサイズ333とを乗じた値を上記の物理アドレスに加算してブロックアドレスとする(S505)。メモリアクセス処理部45は、ブロックアドレスが示すブロックに対してデータの入出力を行い(S506)、Nをインクリメントする(S507)。   If N is not the number of blocks (S504: NO), the memory access processing unit 45 adds a value obtained by multiplying N by the block size 333 of the size management table 33 to the physical address to obtain a block address. (S505). The memory access processing unit 45 inputs / outputs data to / from the block indicated by the block address (S506), and increments N (S507).

以上のようにして、メモリアクセス処理部45は、メモリアクセス要求に応じて物理メモリ12に対するデータの入出力を行う。   As described above, the memory access processing unit 45 inputs / outputs data to / from the physical memory 12 in response to a memory access request.

障害検知部46は、ゲストOS20の障害通知部22からの障害通知を検知する。なお、障害検知部46は、ゲストOS20の動作を監視して、例えば処理のタイムアウトなどにより、ゲストOS20の障害を検知するようにしてもよい。   The failure detection unit 46 detects a failure notification from the failure notification unit 22 of the guest OS 20. Note that the failure detection unit 46 may monitor the operation of the guest OS 20 and detect a failure of the guest OS 20 by, for example, processing timeout.

ゲストOS停止処理部47は、障害検知部46がゲストOS20の障害を検知した場合に、ゲストOS20の実行を停止する。ゲストOS停止処理部47は、例えば、プログラムを終了するように指示するシグナルをゲストOS20に送信するようにしてもよいし、ハイパバイザ30がゲストOS20からの仮想CPUへの演算命令を処理しないようにして、ゲストOS20に対して仮想CPUが停止したように見せかけることで、ゲストOS20の処理が進まないようにしてもよい。   The guest OS stop processing unit 47 stops the execution of the guest OS 20 when the failure detection unit 46 detects a failure of the guest OS 20. For example, the guest OS stop processing unit 47 may transmit a signal instructing to end the program to the guest OS 20, or the hypervisor 30 may not process a calculation instruction from the guest OS 20 to the virtual CPU. Thus, the guest OS 20 may be prevented from proceeding by making the guest OS 20 appear to have stopped the virtual CPU.

ゲストOS起動処理部48は、ゲストOS停止処理部47によりゲストOS20の実行が停止された後、ゲストOS20を起動する。すなわち、ゲストOS停止処理部47およびゲストOS起動処理部48により、ゲストOS20が再起動されることになる。   The guest OS activation processing unit 48 activates the guest OS 20 after execution of the guest OS 20 is stopped by the guest OS termination processing unit 47. That is, the guest OS 20 is restarted by the guest OS stop processing unit 47 and the guest OS startup processing unit 48.

ダンプ処理部49は、ゲストOS停止処理部47によりゲストOS20の実行が停止された後、停止されたゲストOS20に対応するゲストOS領域122の内容をダンプする。なお、本実施形態において、記憶領域の内容をダンプするとは、記憶領域に記憶されているデータを、記憶装置13に書き込んだり、出力装置15に出力したりすることである。ダンプにより出力されたデータは、例えば、プログラムの障害時にプログラムの不具合を解析するために用いられる。   The dump processing unit 49 dumps the contents of the guest OS area 122 corresponding to the stopped guest OS 20 after the guest OS stop processing unit 47 stops the execution of the guest OS 20. In the present embodiment, dumping the contents of the storage area means writing the data stored in the storage area to the storage device 13 or outputting it to the output device 15. The data output by the dump is used, for example, for analyzing a program defect at the time of a program failure.

以下、ゲストOS20の障害時におけるダンプ処理の詳細について説明する。
図8は、本実施形態の情報処理装置10におけるゲストOS領域122のダンプ処理の流れを説明する図である。
Hereinafter, the details of the dump process when the guest OS 20 fails will be described.
FIG. 8 is a diagram for explaining the flow of dump processing of the guest OS area 122 in the information processing apparatus 10 of this embodiment.

まず最初にハイパバイザ30は、ゲストOS20を起動し(S601)、アクセスパターンテーブル31を作成する(S602)。アクセスパターンテーブル31の作成処理の流れを図9に示す。
アクセスパターンテーブル作成部41は、空のアクセスパターンテーブル31を作成する(S621)。次に、アクセスパターンテーブル作成部41は、アクセスパターンテーブル31に登録されているレコード数に、サイズ管理テーブル33のブロックサイズ333を乗じて登録サイズとする(S622)。アクセスパターンテーブル作成部41は、登録サイズがサイズ管理テーブル33のアクセスパターンサイズ331以上であれば(S623:YES)、処理を終了する。
登録サイズがアクセスパターンサイズ331よりも小さい場合に(S623:NO)、メモリアクセス要求受信部44がメモリアクセス要求を受信すると(S624)、メモリアクセス処理部45は、メモリアクセス要求に含まれている仮想アドレスを物理アドレスに変換する(S625)。アクセスパターンテーブル作成部41は、変換された物理アドレスがアクセスパターンテーブル31に登録されているかどうかを判定し(S626)、物理アドレスが登録されていなければ(S626:NO)、物理アドレスをアクセスパターンテーブル31の最後尾に追加し(S627)、ステップS622からの処理を繰り返す。
以上のようにして、アクセスパターンテーブル31が作成される。
First, the hypervisor 30 activates the guest OS 20 (S601), and creates the access pattern table 31 (S602). FIG. 9 shows a flow of processing for creating the access pattern table 31.
The access pattern table creation unit 41 creates an empty access pattern table 31 (S621). Next, the access pattern table creation unit 41 multiplies the number of records registered in the access pattern table 31 by the block size 333 of the size management table 33 to obtain a registered size (S622). If the registered size is equal to or larger than the access pattern size 331 of the size management table 33 (S623: YES), the access pattern table creation unit 41 ends the process.
When the registered size is smaller than the access pattern size 331 (S623: NO), when the memory access request receiving unit 44 receives the memory access request (S624), the memory access processing unit 45 is included in the memory access request. The virtual address is converted into a physical address (S625). The access pattern table creation unit 41 determines whether or not the converted physical address is registered in the access pattern table 31 (S626). If the physical address is not registered (S626: NO), the physical address is used as the access pattern. It is added to the end of the table 31 (S627), and the processing from step S622 is repeated.
The access pattern table 31 is created as described above.

次にハイパバイザ30は、ダンプ出力テーブル32を作成する(S603)。ダンプ出力テーブル32の作成処理の流れを図10に示す。
ダンプ出力テーブル作成部42は、ゲストOS領域122の大きさを、サイズ管理テーブル33のブロックサイズ333で割った商をブロック数とし(S641)、ゲストOS領域122の先頭アドレスをブロックアドレスとする(S642)。ダンプ出力テーブル作成部42は、ダンプ出力テーブル32に登録されているレコード数をカウントし、カウントしたレコード数がブロック数以上になっていれば(S643:YES)処理を終了する。
ダンプ出力テーブル作成部42は、ダンプ出力テーブル32のレコード数がブロック数より小さければ(S643:NO)、ブロックアドレスをダンプ出力テーブル32に追加登録し(S644)、ブロックアドレスに対応する出力フラグ322を「未完了」に設定する(S645)。ダンプ出力テーブル作成部42は、ブロックアドレスにブロックサイズ333を加算し(S646)、ステップS643からの処理を繰り返す。
以上のようにして、ダンプ出力テーブル32が作成される。
Next, the hypervisor 30 creates a dump output table 32 (S603). The flow of the creation process of the dump output table 32 is shown in FIG.
The dump output table creation unit 42 sets the quotient obtained by dividing the size of the guest OS area 122 by the block size 333 of the size management table 33 as the number of blocks (S641), and sets the head address of the guest OS area 122 as the block address ( S642). The dump output table creation unit 42 counts the number of records registered in the dump output table 32, and ends the process if the counted number of records is equal to or greater than the number of blocks (S643: YES).
If the number of records in the dump output table 32 is smaller than the number of blocks (S643: NO), the dump output table creation unit 42 additionally registers a block address in the dump output table 32 (S644), and an output flag 322 corresponding to the block address. Is set to “incomplete” (S645). The dump output table creation unit 42 adds the block size 333 to the block address (S646), and repeats the processing from step S643.
The dump output table 32 is created as described above.

上記のようにしてゲストOS20が起動され、アクセスパターンテーブル31およびダンプ出力テーブル32が作成された後に、障害検知部46が障害通知を検知すると(S604)、ゲストOS停止処理部47は、ゲストOS20に提供している仮想CPUを停止して(S605)、ゲストOS20の実行を停止する。   After the guest OS 20 is started and the access pattern table 31 and the dump output table 32 are created as described above, when the failure detection unit 46 detects a failure notification (S604), the guest OS stop processing unit 47 displays the guest OS 20 The virtual CPU provided to the server is stopped (S605), and the execution of the guest OS 20 is stopped.

ゲストOS20の実行が停止されると、ハイパバイザ30は、ステップS601において起動されたゲストOS20の起動中にアクセスされたゲストOS領域122中の記憶領域(以下、アクセスパターン領域という。)について、ダンプ処理を行う(S606)。アクセスパターン領域についてのダンプ処理の流れを図11に示す。   When the execution of the guest OS 20 is stopped, the hypervisor 30 performs a dump process on a storage area (hereinafter referred to as an access pattern area) in the guest OS area 122 accessed during the activation of the guest OS 20 activated in step S601. (S606). The flow of dump processing for the access pattern area is shown in FIG.

ダンプ処理部49は、起動フラグを「偽」に設定し(S661)、ダンプサイズを「0」に設定し(S662)、アクセスパターンテーブル31に記憶されている各物理アドレスについて以下の処理を行う。
起動フラグが「偽」であり、かつダンプサイズがサイズ管理テーブル33のコアサイズ332以上である場合には(S663:YES)、ゲストOS起動処理部48は、ゲストOSを起動し(S664)、ダンプ処理部49は、起動フラグを「真」とする(S665)。
ダンプ処理部49は、物理アドレスに対応する出力フラグ322をダンプ出力テーブル32から読み出し(S666)、読み出した出力フラグ322が「未完了」であれば(S667:YES)、物理アドレスに対応するブロックの内容をダンプする。具体的には、ダンプ処理部49は、物理アドレスからサイズ管理テーブル33のブロックサイズ333分のデータをダンプする(S668)。
ダンプ処理部49は、ブロックの内容をダンプした後、物理アドレスに対応するダンプ出力テーブル32の出力フラグ322に「完了」を設定する(S669)。
The dump processing unit 49 sets the activation flag to “false” (S661), sets the dump size to “0” (S662), and performs the following processing for each physical address stored in the access pattern table 31. .
When the activation flag is “false” and the dump size is equal to or larger than the core size 332 of the size management table 33 (S663: YES), the guest OS activation processing unit 48 activates the guest OS (S664), The dump processing unit 49 sets the activation flag to “true” (S665).
The dump processor 49 reads the output flag 322 corresponding to the physical address from the dump output table 32 (S666), and if the read output flag 322 is “incomplete” (S667: YES), the block corresponding to the physical address. Dump the contents of. Specifically, the dump processing unit 49 dumps data for the block size 333 of the size management table 33 from the physical address (S668).
After dumping the contents of the block, the dump processing unit 49 sets “complete” to the output flag 322 of the dump output table 32 corresponding to the physical address (S669).

以上の処理を繰り返すことにより、ダンプ処理部49は、アクセスパターンテーブル31に記憶されている各物理アドレスに対応するブロックをダンプする。ダンプ処理部49によりダンプされたデータの累計がコアサイズ332以上になったときには、ゲストOS起動処理部48がゲストOS20を起動する。   By repeating the above processing, the dump processing unit 49 dumps a block corresponding to each physical address stored in the access pattern table 31. When the total amount of data dumped by the dump processing unit 49 exceeds the core size 332, the guest OS activation processing unit 48 activates the guest OS 20.

このように、本実施形態のハイパバイザ30は、アクセスパターンテーブル31に記憶されているブロックのアクセスパターンに従って、ブロックの内容をダンプすることができる。したがって、ハイパバイザ30は、ゲストOS20の再起動時において、ゲストOS20の最初の起動時にアクセスされたブロックを優先的にダンプすることができる。ゲストOS20の起動時にアクセスされたブロックは、ゲストOS20の再起動時にもアクセスされる可能性が高いため、上記処理により、ゲストOS20の再起動時にアクセスされる可能性の高いブロックの内容を、ゲストOS20の起動に先だってダンプしておくことができる。したがって、ダンプ処理とゲストOS20の起動処理とを並行して行うことができる。   As described above, the hypervisor 30 of the present embodiment can dump the contents of the block according to the access pattern of the block stored in the access pattern table 31. Therefore, the hypervisor 30 can preferentially dump the block accessed when the guest OS 20 is first started when the guest OS 20 is restarted. Since the block accessed when the guest OS 20 is started is highly likely to be accessed when the guest OS 20 is restarted, the contents of the block that is highly likely to be accessed when the guest OS 20 is restarted are processed by the above processing. A dump can be made prior to the startup of the OS 20. Therefore, the dump process and the boot process of the guest OS 20 can be performed in parallel.

もっとも、ゲストOS20から、最初の起動時とは異なるブロックに対してアクセスがなされる場合や、ゲストOS20の起動処理がダンプ処理よりも高速に実行されている場合などには、ダンプ処理が終わっていないブロックに対してゲストOS20からのアクセス要求が送信されることがある。   However, when the guest OS 20 accesses a block different from that at the time of initial startup, or when the startup processing of the guest OS 20 is executed faster than the dump processing, the dump processing is finished. An access request from the guest OS 20 may be transmitted to a block that does not exist.

この場合に本実施形態のハイパバイザ30は、アクセス要求の対象となるブロックが未だダンプされていなければ、そのブロックをダンプした後に入出力処理を行うようにしている。ダンプ中におけるメモリへの入出力処理の流れを図12に示す。   In this case, the hypervisor 30 of this embodiment is configured to perform input / output processing after dumping the block that is the target of the access request if it has not been dumped yet. The flow of input / output processing to the memory during dumping is shown in FIG.

図12の処理は、上述の図7に示した処理のステップS506の前に、ステップS621〜ステップS623の処理を加えたものである。すなわち、メモリアクセス処理部45が、Nとサイズ管理テーブル33のブロックサイズ333とを乗じた値を上記の物理アドレスに加算してブロックアドレスを算出(S505)した後、ブロックアドレスに対応する出力フラグ322をダンプ出力テーブル32から読み出し、読み出した出力フラグ322が「未完了」であるかどうかを判定する(S681)。出力フラグ322が「未完了」の場合(S681:YES)、ダンプ処理部49は、ブロックアドレスが示すブロックの内容をダンプして(S682)、ブロックアドレスに対応する出力フラグ322を「完了」に設定する(S683)。   The process of FIG. 12 is obtained by adding the processes of steps S621 to S623 to step S506 of the process shown in FIG. That is, the memory access processing unit 45 calculates a block address by adding a value obtained by multiplying N and the block size 333 of the size management table 33 to the physical address (S505), and then outputs an output flag corresponding to the block address. 322 is read from the dump output table 32, and it is determined whether or not the read output flag 322 is “incomplete” (S681). When the output flag 322 is “incomplete” (S681: YES), the dump processing unit 49 dumps the contents of the block indicated by the block address (S682), and sets the output flag 322 corresponding to the block address to “completed”. The setting is made (S683).

このようにして、ハイパバイザ30は、ダンプ処理中に、未だダンプされていないブロックに対するアクセス要求を受けた場合には、そのブロックの内容をダンプした後に、アクセス要求に応じた物理メモリ12へのアクセス処理を行うことができる。したがって、ダンプ処理とゲストOS20の起動処理とを並行した実行したとしても、ゲストOS20の前回停止時点でのゲストOS領域122の内容を確実にダンプすることができる。   In this way, when the hypervisor 30 receives an access request for a block that has not been dumped during dump processing, the hypervisor 30 dumps the contents of the block and then accesses the physical memory 12 according to the access request. Processing can be performed. Therefore, even if the dump process and the startup process of the guest OS 20 are executed in parallel, the contents of the guest OS area 122 at the time of the previous stop of the guest OS 20 can be reliably dumped.

以上のようにして、アクセスパターン領域のダンプ処理が終わると、次にハイパバイザ30は、ゲストOS領域122のうち未だダンプ処理がなされていない記憶領域(以下、未ダンプ領域という。)についてのダンプ処理を行う(S607)。図13は、未ダンプ領域についてのダンプ処理の流れを示す図である。ダンプ処理部49は、ダンプ出力テーブル32に記憶されている各レコードについて、レコードの出力フラグ322が「未完了」であれば(S701:YES)、物理アドレスに対応するブロックの内容をダンプし(S702)、出力フラグ322に「完了」を設定する(S703)。このようにして、ダンプ処理部49は、未ダンプ領域についてのダンプ処理を行う。   When the access pattern area dump process is completed as described above, the hypervisor 30 next dumps the storage area of the guest OS area 122 that has not yet been dumped (hereinafter referred to as an undumped area). (S607). FIG. 13 is a diagram showing the flow of dump processing for an undumped area. For each record stored in the dump output table 32, the dump processing unit 49 dumps the contents of the block corresponding to the physical address if the record output flag 322 is “incomplete” (S701: YES) ( S702), “complete” is set in the output flag 322 (S703). In this way, the dump processing unit 49 performs a dump process for an undumped area.

以上説明したように、本実施形態の情報処理装置10によれば、ゲストOS20の最初の起動時にアクセスされたブロック(記憶領域)のアクセスパターンを記憶しておき、ゲストOS20の再起動時には、アクセスパターンに従ってゲストOS領域122をダンプすることができる。一般に、オペレーティングシステムやその他のアプリケーションプログラムの起動処理において仮想メモリに対するアクセスパターンはほぼ同じになることが多いので、起動時のアクセスパターンに従ってダンプを行うことにより、ゲストOS20の再起動時にアクセスされる可能性の高いブロックについて、優先的にダンプを行っておくことが可能となる。したがって、従来のようにダンプ処理のすべてが終了するまでゲストOS20の起動を行わない場合に比べると、より迅速にゲストOS20の再起動を開始することができる。またこれにより、ゲストOS20により提供されるサービスのダウンタイムを短縮することが可能となる。特に、近年のようにゲストOS20に割り当てられるゲストOS領域122が大容量になっている場合には、ゲストOS領域122のすべての内容をダンプするには長い時間がかかってしまうので効果的である。   As described above, according to the information processing apparatus 10 of this embodiment, the access pattern of the block (storage area) accessed when the guest OS 20 is first started is stored, and when the guest OS 20 is restarted, the access pattern is accessed. The guest OS area 122 can be dumped according to the pattern. Generally, the access pattern to the virtual memory is often almost the same in the startup process of the operating system and other application programs. Therefore, by performing dumping according to the access pattern at startup, it can be accessed when the guest OS 20 is restarted. It is possible to preferentially dump high-performance blocks. Therefore, the restart of the guest OS 20 can be started more quickly than in the case where the guest OS 20 is not started until all of the dump processing is completed as in the prior art. As a result, the downtime of the service provided by the guest OS 20 can be shortened. In particular, when the guest OS area 122 allocated to the guest OS 20 has a large capacity as in recent years, it is effective because it takes a long time to dump all the contents of the guest OS area 122. .

また、本実施形態の情報処理装置10では、ゲストOS領域122のダンプ中に、未だダンプされていないブロックに対してアクセスされた場合には、そのブロックの内容をダンプした後、ブロックに対するアクセス処理を行うようにしているので、ゲストOS20の再起動時に、最初の起動時とは異なるブロックに対するアクセスを行った場合でも、確実にゲストOS領域122をダンプすることができる。   In the information processing apparatus 10 according to the present embodiment, when a block that has not been dumped is accessed while the guest OS area 122 is being dumped, the block access process is performed after dumping the contents of the block. Therefore, when the guest OS 20 is restarted, the guest OS area 122 can be reliably dumped even when an access is made to a block different from that at the first startup.

その一方で、上記の処理では、アクセスの対象となるブロックのダンプが未完了である場合に、そのブロックの内容をダンプし、そのブロックについてのダンプが完了した後にデータの入出力を行うようにしているため、オーバーヘッドが大きいが、本実施形態の情報処理装置10では、上述のようにゲストOS20の再起動時にアクセスされる可能性の高いブロックを優先的にダンプすることができるので、ダンプが未完了であるブロックにアクセスされる可能性を低減することができる。したがって、ゲストOS領域122のダンプ処理に係るオーバーヘッドを低減し、情報処理装置10の処理負荷を抑えることができる。また、これによりゲストOS20も迅速に起動することができるので、ゲストOS20が提供するサービスのダウンタイムを短縮することができる。   On the other hand, in the above processing, when the dump of the block to be accessed is incomplete, the contents of the block are dumped, and data input / output is performed after the dump for the block is completed. Therefore, the information processing apparatus 10 according to this embodiment can preferentially dump blocks that are likely to be accessed when the guest OS 20 is restarted as described above. The possibility of accessing an incomplete block can be reduced. Therefore, it is possible to reduce overhead related to the dump processing of the guest OS area 122 and suppress the processing load of the information processing apparatus 10. In addition, since the guest OS 20 can also be activated quickly, the downtime of the service provided by the guest OS 20 can be shortened.

なお、本実施形態の情報処理装置10では、1つのゲストOS20のみが実行されるものとしたが、これに限らず、複数のゲストOS20が実行されるようにしてもよい。この場合、ハイパバイザ30は、ゲストOS20ごとに、アクセスパターンテーブル31やダンプ出力テーブル32、サイズ管理テーブル33などを設けるようにする。   In the information processing apparatus 10 of the present embodiment, only one guest OS 20 is executed. However, the present invention is not limited to this, and a plurality of guest OSs 20 may be executed. In this case, the hypervisor 30 is provided with an access pattern table 31, a dump output table 32, a size management table 33, and the like for each guest OS 20.

また、本実施形態の情報処理装置10では、物理アドレスのパターンをアクセスパターンテーブル31に格納するものとしたが、仮想アドレスのパターンを格納するようにしてもよい。この場合、ゲストOS領域122に割り当てられる物理メモリ12上の領域が変更になった場合にも対応することができる。   In the information processing apparatus 10 according to the present embodiment, the physical address pattern is stored in the access pattern table 31, but a virtual address pattern may be stored. In this case, it is possible to cope with a case where the area on the physical memory 12 allocated to the guest OS area 122 is changed.

また、本実施形態において、アクセスパターンテーブル31には、ブロックごとに物理アドレスが格納されるものとしたが、物理アドレスとブロック数とを対応付けて格納するようにしてもよい。この場合、メモリアクセス要求に含まれている仮想アドレスを物理アドレスに変換し、物理アドレスと、メモリアクセス要求に含まれるブロック数とを対応付けてアクセスパターンテーブル31に登録するようにする。   In the present embodiment, the physical address is stored for each block in the access pattern table 31, but the physical address and the number of blocks may be stored in association with each other. In this case, the virtual address included in the memory access request is converted into a physical address, and the physical address and the number of blocks included in the memory access request are associated with each other and registered in the access pattern table 31.

また、本実施形態では、アクセスパターンテーブル31には、ゲストOS20からのアクセス順にブロックの物理アドレスが格納されるものとしたが、アクセス順と、アクセスされた領域とが格納されればよい。例えば、アクセスパターンテーブル31は、アクセスされた順を示す番号と、物理アドレスとを対応付けて記憶するようにしてもよい。この場合、レコードの記憶順を管理しないリレーショナルデータベース管理システムにおけるテーブルとして、アクセスパターンテーブル31を実現することもできる。   In the present embodiment, the physical address of the block is stored in the access pattern table 31 in the order of access from the guest OS 20, but the access order and the accessed area may be stored. For example, the access pattern table 31 may store a number indicating the access order and a physical address in association with each other. In this case, the access pattern table 31 can be realized as a table in a relational database management system that does not manage the storage order of records.

また、本実施形態において、ダンプ出力テーブル32は、物理アドレスに対応付けて出力フラグ322を管理するものとしたが、仮想アドレスに対応付けて出力フラグ322を管理するようにしてもよい。   In the present embodiment, the dump output table 32 manages the output flag 322 in association with the physical address. However, the output flag 322 may be managed in association with the virtual address.

また、本実施形態では、ブロック単位でアクセスパターンを記憶するものとしたが、これに限らず、可変長の記憶領域単位で記憶するようにしてもよい。この場合、例えば、アクセスパターンテーブル31には、物理アドレスとデータ長とを対応付けて登録するようにする。   In this embodiment, the access pattern is stored in units of blocks. However, the present invention is not limited to this, and may be stored in units of variable-length storage areas. In this case, for example, the physical address and the data length are registered in the access pattern table 31 in association with each other.

以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。   Although the present embodiment has been described above, the above embodiment is intended to facilitate understanding of the present invention and is not intended to limit the present invention. The present invention can be changed and improved without departing from the gist thereof, and the present invention includes equivalents thereof.

本発明の一実施形態に係る情報処理装置10のハードウェア構成図である。It is a hardware block diagram of the information processing apparatus 10 which concerns on one Embodiment of this invention. 仮想化された情報処理装置10の論理構成を説明する図である。It is a figure explaining the logical structure of the information processing apparatus 10 virtualized. 本実施形態に係る情報処理装置10の機能ブロック図である。It is a functional block diagram of information processor 10 concerning this embodiment. サイズ管理テーブル33の構成例を示す図である。4 is a diagram illustrating a configuration example of a size management table 33. FIG. アクセスパターンテーブル31の構成例を示す図である。4 is a diagram illustrating a configuration example of an access pattern table 31. FIG. ダンプ出力テーブル32の構成例を示す図である。It is a figure which shows the structural example of the dump output table. 物理メモリ12に対する入出力処理の流れを示す図である。FIG. 4 is a diagram showing a flow of input / output processing for a physical memory 12. ゲストOS領域122のダンプ処理の流れを説明する図である。FIG. 6 is a diagram for explaining a flow of dump processing in a guest OS area 122. アクセスパターンテーブル31の作成処理の流れを示す図である。It is a figure which shows the flow of a creation process of the access pattern table. ダンプ出力テーブル32の作成処理の流れを示す図である。It is a figure which shows the flow of a creation process of the dump output table. アクセスパターン領域についてのダンプ処理の流れを示す図である。It is a figure which shows the flow of the dump process about an access pattern area | region. ダンプ中におけるメモリへの入出力処理の流れを示す図である。It is a figure which shows the flow of the input-output process to the memory in dumping. 未ダンプ領域についてのダンプ処理の流れを示す図である。It is a figure which shows the flow of the dump process about an undump area | region.

符号の説明Explanation of symbols

10 情報処理装置
11 物理CPU
12 物理メモリ
13 記憶装置
14 入力装置
15 出力装置
20 ゲストOS
21 メモリアクセス要求送信部
22 障害通知部
30 ハイパバイザ
31 アクセスパターンテーブル
32 ダンプ出力テーブル
321 物理アドレス
322 出力フラグ
33 サイズ管理テーブル
331 アクセスパターンサイズ
332 コアサイズ
333 ブロックサイズ
41 アクセスパターンテーブル作成部
42 ダンプ出力テーブル作成部
43 サイズ管理テーブル登録部
44 メモリアクセス要求受信部
45 メモリアクセス処理部
46 障害検知部
47 ゲストOS停止処理部
48 ゲストOS起動処理部
49 ダンプ処理部
121 ハイパバイザ領域
122 ゲストOS領域
10 Information processing apparatus 11 Physical CPU
12 Physical memory 13 Storage device 14 Input device 15 Output device 20 Guest OS
DESCRIPTION OF SYMBOLS 21 Memory access request transmission part 22 Failure notification part 30 Hypervisor 31 Access pattern table 32 Dump output table 321 Physical address 322 Output flag 33 Size management table 331 Access pattern size 332 Core size 333 Block size 41 Access pattern table creation part 42 Dump output table Creation unit 43 Size management table registration unit 44 Memory access request reception unit 45 Memory access processing unit 46 Fault detection unit 47 Guest OS stop processing unit 48 Guest OS activation processing unit 49 Dump processing unit 121 Hypervisor area 122 Guest OS area

Claims (6)

CPUと、メモリと、
前記CPUにより実行されるアプリケーションプログラムの起動処理中に、前記アプリケーションプログラムから前記メモリへのアクセス要求を複数取得するアクセス要求取得部と、
前記アクセス要求に含まれる、アクセス対象の記憶領域を指定する情報である領域指定情報、および前記アクセス要求の取得順を記憶するアクセスパターン記憶部と、
前記アプリケーションプログラムの起動処理終了後、実行中の前記アプリケーションプログラムの実行を停止させる停止処理部と、
前記アプリケーションプログラムの実行停止後、前記アクセスパターン記憶部から前記領域指定情報および前記取得順を読み出し、前記取得順に、各前記領域指定情報により指定される前記記憶領域の内容をダンプするダンプ処理部と、
前記ダンプ処理部によるダンプ中に、前記アプリケーションプログラムを起動する再起動処理部と、
を備えることを特徴とする情報処理装置。
CPU, memory,
An access request acquisition unit that acquires a plurality of access requests to the memory from the application program during the startup process of the application program executed by the CPU;
Area specification information that is information for specifying a storage area to be accessed, included in the access request, and an access pattern storage unit that stores the acquisition order of the access requests;
A stop processing unit for stopping execution of the application program being executed after the start processing of the application program;
After the execution of the application program is stopped, a dump processing unit that reads out the area designation information and the acquisition order from the access pattern storage unit, and dumps the contents of the storage area designated by the area designation information in the acquisition order; ,
During a dump by the dump processing unit, a restart processing unit that starts the application program,
An information processing apparatus comprising:
請求項1に記載の情報処理装置であって、
前記アプリケーションプログラムを起動するために必要な記憶領域の大きさであるコアサイズを記憶するコアサイズ記憶部を備え、
前記ダンプ処理部は、前記記憶領域の内容をダンプするごとに、ダンプした前記記憶領域の大きさの累計値であるダンプサイズを算出し、
前記再起動処理部は、前記累計値が前記コアサイズ以上になったときに、前記アプリケーションプログラムを起動すること、
を特徴とする情報処理装置。
The information processing apparatus according to claim 1,
A core size storage unit that stores a core size that is a size of a storage area necessary for starting the application program;
Each time the dump processing unit dumps the contents of the storage area, it calculates a dump size that is a cumulative value of the size of the dumped storage area,
The restart processing unit starts the application program when the cumulative value is equal to or larger than the core size;
An information processing apparatus characterized by the above.
請求項1に記載の情報処理装置であって、
前記アクセス要求に含まれる前記領域指定情報により特定される前記記憶領域に対するデータの入出力を行うアクセス処理部と、
前記領域指定情報に対応付けて、前記記憶領域の内容がダンプされたかどうかを示すフラグ値を記憶するダンプ出力テーブルと、
を備え、
前記ダンプ処理部は、前記記憶領域の内容をダンプした際に、前記領域指定情報に対応付けて、ダンプしたことを示す前記フラグ値を前記ダンプ出力テーブルに登録し、
前記アクセス処理部は、前記アクセス要求に含まれる前記領域指定情報に対応する前記ダンプ出力テーブルの前記フラグ値を前記ダンプ出力テーブルから取得し、取得した前記フラグ値により、前記記憶領域の内容がダンプされているかどうかを判断し、当該記憶領域の内容がダンプされていない場合には、当該記憶領域の内容がダンプされるまで待機すること、
を特徴とする情報処理装置。
The information processing apparatus according to claim 1,
An access processing unit for inputting / outputting data to / from the storage area specified by the area specifying information included in the access request;
A dump output table that stores a flag value indicating whether or not the contents of the storage area are dumped in association with the area designation information;
With
When the dump processing unit dumps the contents of the storage area, the dump processing unit registers the flag value indicating that the dump is associated with the area designation information in the dump output table,
The access processing unit obtains the flag value of the dump output table corresponding to the area specifying information included in the access request from the dump output table, and the contents of the storage area are dumped by the obtained flag value. Waiting for the contents of the storage area to be dumped if the contents of the storage area have not been dumped,
An information processing apparatus characterized by the above.
請求項1に記載の情報処理装置であって、
前記アプリケーションプログラムに障害が発生したことを検知する障害検知部を備え、
前記停止処理部は、前記障害の検知を契機として、前記アプリケーションプログラムの実行を停止すること、
を特徴とする情報処理装置。
The information processing apparatus according to claim 1,
A failure detection unit that detects that a failure has occurred in the application program;
The stop processing unit stops the execution of the application program triggered by the detection of the failure;
An information processing apparatus characterized by the above.
CPUと、メモリと、
仮想マシン上で実行されるオペレーティングシステムの起動処理中に、前記オペレーティングシステムから前記メモリへのアクセス要求を複数取得するアクセス要求取得部と、
前記アクセス要求に含まれるアクセス対象の記憶領域を指定する情報である領域指定情報、および前記アクセス要求の取得順を記憶するアクセスパターン記憶部と、
前記オペレーティングシステムの起動処理終了後、実行中の前記オペレーティングシステムの実行を停止させる停止処理部と、
前記オペレーティングシステムの実行停止後、前記アクセスパターン記憶部に記憶されている前記領域指定情報および前記取得順を読み出し、前記取得順に、各前記領域指定情報により指定される前記記憶領域の内容をダンプするダンプ処理部と、
前記ダンプ処理部によるダンプ中に、前記オペレーティングシステムを起動する再起動処理部と、
を備えることを特徴とする情報処理装置。
CPU, memory,
An access request acquisition unit that acquires a plurality of access requests to the memory from the operating system during startup processing of the operating system executed on the virtual machine;
Area specification information that is information for specifying a storage area to be accessed included in the access request, and an access pattern storage unit that stores the access request acquisition order;
A stop processing unit that stops execution of the operating system that is being executed after the start-up process of the operating system;
After the execution of the operating system is stopped, the area designation information and the acquisition order stored in the access pattern storage unit are read, and the contents of the storage areas designated by the area designation information are dumped in the acquisition order. A dump processing unit;
During a dump by the dump processing unit, a restart processing unit for starting the operating system,
An information processing apparatus comprising:
メモリの内容をダンプする方法であって、
CPUと、メモリとを備えるコンピュータが、
前記CPUにより実行されるアプリケーションプログラムの起動処理中に、前記アプリケーションプログラムから前記メモリへのアクセス要求を複数取得し、
前記アクセス要求に含まれるアクセス対象の記憶領域を指定する情報である領域指定情報、および前記アクセス要求の取得順を記憶し、
前記アプリケーションプログラムの起動処理終了後、実行中の前記アプリケーションプログラムの実行を停止させ、
前記アプリケーションプログラムの実行停止後、前記アクセスパターン記憶部から前記領域指定情報および前記取得順を読み出し、読み出した前記取得順に、各前記領域指定情報により特定される前記記憶領域の内容をダンプし、
ダンプ処理中に、前記アプリケーションプログラムを起動すること、
を特徴とするメモリダンプ方法。
A method for dumping memory contents,
A computer including a CPU and a memory
During the startup process of the application program executed by the CPU, a plurality of access requests to the memory from the application program are acquired,
Storing area designation information, which is information for designating a storage area to be accessed, included in the access request, and the access request acquisition order;
After the startup process of the application program is finished, stop the execution of the application program being executed,
After stopping execution of the application program, the area designation information and the acquisition order are read from the access pattern storage unit, and the contents of the storage areas specified by the area designation information are dumped in the read acquisition order,
Launching the application program during dump processing;
A memory dump method characterized by the above.
JP2007085162A 2007-03-28 2007-03-28 Information processing apparatus and memory dump method Withdrawn JP2008242999A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007085162A JP2008242999A (en) 2007-03-28 2007-03-28 Information processing apparatus and memory dump method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007085162A JP2008242999A (en) 2007-03-28 2007-03-28 Information processing apparatus and memory dump method

Publications (1)

Publication Number Publication Date
JP2008242999A true JP2008242999A (en) 2008-10-09

Family

ID=39914233

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007085162A Withdrawn JP2008242999A (en) 2007-03-28 2007-03-28 Information processing apparatus and memory dump method

Country Status (1)

Country Link
JP (1) JP2008242999A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015011749A1 (en) * 2013-07-22 2015-01-29 株式会社日立製作所 Storage system and fault management method for storage system
WO2015015589A1 (en) * 2013-07-31 2015-02-05 富士通株式会社 Information processing device, memory dump method, and memory dump program
US10846233B2 (en) 2018-02-12 2020-11-24 Samsung Electronics Co., Ltd. Memory controller and application processor for controlling utilization and performance of input/output device and method of operating the memory controller
US11663064B1 (en) * 2019-09-02 2023-05-30 Virtuozzo International Gmbh System and method for generating a guest operating system crash dump

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015011749A1 (en) * 2013-07-22 2015-01-29 株式会社日立製作所 Storage system and fault management method for storage system
US9471434B2 (en) 2013-07-22 2016-10-18 Hitachi, Ltd. Storage system and storage system failure management method
WO2015015589A1 (en) * 2013-07-31 2015-02-05 富士通株式会社 Information processing device, memory dump method, and memory dump program
JPWO2015015589A1 (en) * 2013-07-31 2017-03-02 富士通株式会社 Information processing apparatus, memory dump method, and memory dump program
US10025670B2 (en) 2013-07-31 2018-07-17 Fujitsu Limited Information processing apparatus, memory dump method, and storage medium
US10846233B2 (en) 2018-02-12 2020-11-24 Samsung Electronics Co., Ltd. Memory controller and application processor for controlling utilization and performance of input/output device and method of operating the memory controller
US11663064B1 (en) * 2019-09-02 2023-05-30 Virtuozzo International Gmbh System and method for generating a guest operating system crash dump

Similar Documents

Publication Publication Date Title
JP5176837B2 (en) Information processing system, management method thereof, control program, and recording medium
US9870288B2 (en) Container-based processing method, apparatus, and system
JP5212360B2 (en) Control program, control system, and control method
JP2007226413A (en) Memory dump method, memory dump program, and computer system
JP6273034B2 (en) Virtualization computing apparatus and method
US20090276205A1 (en) Stablizing operation of an emulated system
KR20080031150A (en) Intelligent storage engine for disk drive operations with reduced local bus traffic
JP6594452B2 (en) Method, terminal, apparatus, and program for improving virtual machine performance
JP2014178913A (en) Electronic apparatus, method of creating snapshot image, and program
JP2008242999A (en) Information processing apparatus and memory dump method
KR20160134750A (en) Asynchronously prefetching sharable memory pages
US20190377612A1 (en) VCPU Thread Scheduling Method and Apparatus
CN110941516B (en) Operating system restoration method, device, equipment and storage medium
JP2011060225A (en) Operating system booting method
CN102968323B (en) Terminal and the method that realizes computer system power-on acceleration
EP4632566A1 (en) Virtual machine memory management method and computing device
WO2017097176A1 (en) Operating system starting method, apparatus and system
US10210035B2 (en) Computer system and memory dump method
JP6725662B2 (en) Computer system and processing method
JP5533005B2 (en) Information processing apparatus, computer system, and program
JP2011165093A (en) Memory access examination device, memory access examination method and program
JP2006172100A (en) Operating system fast switching method and method
JP5948416B2 (en) Information processing apparatus, information storage processing program, and information storage processing method
CN102968324B (en) The method for sorting of computer system power-on file and device
JP2011192131A (en) Control device, image forming apparatus, and control program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110217

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110704