JP6237230B2 - メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置 - Google Patents

メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置 Download PDF

Info

Publication number
JP6237230B2
JP6237230B2 JP2013273051A JP2013273051A JP6237230B2 JP 6237230 B2 JP6237230 B2 JP 6237230B2 JP 2013273051 A JP2013273051 A JP 2013273051A JP 2013273051 A JP2013273051 A JP 2013273051A JP 6237230 B2 JP6237230 B2 JP 6237230B2
Authority
JP
Japan
Prior art keywords
memory
area
data
stored
context 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.)
Active
Application number
JP2013273051A
Other languages
English (en)
Other versions
JP2015127879A (ja
Inventor
将之 治部
将之 治部
健太郎 西原
健太郎 西原
裕毅 長谷川
裕毅 長谷川
和也 渡邉
和也 渡邉
一英 今枝
一英 今枝
山本 博之
博之 山本
保利 鈴木
保利 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013273051A priority Critical patent/JP6237230B2/ja
Priority to US14/530,890 priority patent/US9575827B2/en
Publication of JP2015127879A publication Critical patent/JP2015127879A/ja
Application granted granted Critical
Publication of JP6237230B2 publication Critical patent/JP6237230B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)

Description

本発明は、メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置に関する。
従来、仮想マシンモニタが、ゲストOSに割り当てるメモリ領域に対応するページテーブルの全ページを書き込み禁止状態に設定し、ページ書き込み違反の例外に応答して、ページ書き込み違反が発生したページの更新前データを仮想マシンモニタが管理するメモリ領域に保存する情報処理装置がある。
仮想マシンモニタは、更新前データを保存した後に、ページ書き込み違反が発生したページの書き込み禁止を解除することによってゲストOSによるページ書き込み違反が発生したページへの書き込みを継続させる。チェックポイントが取得されるたびに、仮想マシンモニタは、ゲストOSに割り当てるメモリ領域に対応するページテーブルの全ページを書き込み禁止状態に再設定する(例えば、特許文献1参照)。
また、プログラムが実行時に使用するメモリ情報を時間的経過に従って収集および保存し、後に任意の時点の全メモリ情報を復元する方法がある(例えば、特許文献2または3参照)。
特開2009−245216号公報 特開昭62−000509号公報 特開2009−146381号公報
しかしながら、従来の情報処理装置では、CPU(Central Processing Unit)コンテキスト情報を取得する場合、コンテキスト情報取得のプロセスがコンテキスト情報を保存し、さらにCPUを通常の動作状態にする必要があったため、コンテキスト情報の取得処理に時間が掛かってしまう。
また、メモリデータとCPUのコンテキスト情報との対応が取れなかったために、障害によりコンピュータシステムが停止した場合に、コンテキスト情報によりCPUの動作状況を把握して、障害の原因を過去に遡って調査することはできない。
そこで、一側面では、装置が障害により停止した場合に、コンテキスト情報の取得処理の時間を短縮することができるシステム管理プログラムを提供することを目的とする。
一つの案では、メモリ管理プログラムは、メモリへの書き込みを検知し、検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存し、コンテキストスイッチにより前記コンテキスト情報の保存がされていない場合、前記メモリにおける前記コンテキスト情報を保存する領域に変更を加える、処理をコンピュータに実行させる。
一態様によれば、装置が障害により停止した場合に、コンテキスト情報の取得処理の時間を短縮することができる。
メモリ管理装置のハードウェア構成を示す図 メモリ管理装置のソフトウェア構成を示す図 メモリ管理装置の機能の概略を示す図 ページ管理テーブルを示す図 メモリ変更テーブルを示す図 差分メモリ取得方法の設定を示す図 書き込みトラップとメモリデータの保存を示す図 差分メモリの確保とメモリデータの保存を示す図 メモリダンプの復元を示す図 差分メモリとコンテキスト情報との対応を示す図 ページング発生時のメモリデータの保存を示す図 差分メモリの削除方法の設定を示す図 差分メモリの削除を示す図 メモリ管理動作を示すフローチャート メモリデータ取得の動作を示すフローチャート メモリダンプ復元ポイントの作成動作を示すフローチャート メモリダンプの復元動作を示すフローチャート
以下、図面に基づいて本発明の実施の形態を説明する。
図1は、本実施の形態におけるメモリ管理装置のハードウェア構成の一例を示す図である。
図1において、メモリ管理装置1は、CPU2、メモリ3、HDD(Hard Disk Drive)4、入力装置5、出力装置6、およびネットワークI/F(Interface)7を備える。CPU(Central Processing Unit)2、メモリ3、HDD(Hard Disk Drive)4、入力装置5、出力装置6、およびネットワークI/F(Interface)7は、システムバス8によって相互に接続される。
CPU2は、HDD4に記憶されたプログラムやデータをメモリ3に読み出して、プログラムによる処理を実行する中央演算処理装置である。CPU2は、例えば複数のプロセッサコアを有するマルチコアプロセッサである。マルチコアプロセッサは複数のプロセッサの間でプロセッサ間通信を行うことができる。
メモリ3は、メモリ管理装置1の主記憶装置であり、例えばRAM(Random Access Memory)によって構成される。メモリ3に記憶されたプログラムはCPU2によって実行される。メモリ3は、例えばROM(Read Only Memory)やフラッシュメモリを含んでいてもよい。
HDD4は、メモリ管理装置1の2次記憶である。HDD4には、プログラムやデータが格納されて、適宜メモリ3に読み出される。また、メモリ3に確保された主メモリ領域のアドレスが不足した場合、ページング処理にてメモリ3のデータがHDD4に一時的に退避される。本実施の形態では2次記憶装置としてHDD4を例示したが、HDD4の代わりに、例えばSSD(Solid State Drive)を用いることもできる。
入力装置5は、メモリ管理装置1の外部から内部にデータの入力を行う機器である。入力装置5は、例えば、キーボード、マウス、タッチパネル等である。出力装置6は、メモリ管理装置1の内部のデータを外部に出力する装置である。出力装置6は、例えば、ディスプレイ、スピーカである。
ネットワークI/F7は、ネットワークを介した外部装置との通信を制御する。ネットワークI/F7は、接続するネットワークのプロトコルに対応したNIC(Network Interface Controller)を有する。
次に、本実施の形態におけるメモリ管理装置1のソフトウェアの構成を、図2を用いて説明する。図2は、メモリ管理装置のソフトウェア構成の一例を示す図である。図2で説明するソフトウェアは、図1で説明したメモリ3に読み出されて、CPU2によって実行される。
図2において、メモリ管理装置1は、ソフトウェアの構成として、OS(Operating System)層とアプリケーション層と、OS層の下位に位置し、図示しないハードウェア層からなる階層構造のソフトウェアを備える。OS層は、カーネル10とデバイスドライバ11とを備える。
デバイスドライバ11は、ハードウェア層のハードウェアを制御するプログラムである。デバイスドライバ11は、ハードウェアの構成に対応した複数のプログラムモジュールを有し、それぞれのプログラムモジュールはハードウェアの構成に応じてカーネル10に対して動的に追加してもよい。
アプリケーション層は、OS層の上で動作する複数のアプリケーションプログラム(以下、「アプリ」と省略する。)を備える。メモリ管理装置1は、アプリの一例として複数のサービス13と、複数のユーザプロセス14とを備える。ユーザプロセス14は、例えば、OS上で実行され、ユーザに対して定められた目的を果たすための機能を提供するプログラムである。また、サービス13は、例えば、ユーザプロセス14に対して、サービス13を介してOS層またはハードウェア層を利用したサービスを提供するプログラムである。
カーネル10は、OS層の中核となる機能を備え、例えば、メモリ管理部102、プロセス管理部103、IO(Input Output)管理部104、ネットワーク管理部105、及びファイルシステム管理部106を備える。
メモリ管理部102は、物理的メモリであるメモリ3に対して仮想アドレッシングによるメモリマッピングを行い、それぞれのアプリがマッピングしたメモリ領域を安全に利用できるように管理する。プロセス管理部103は、それぞれのアプリに対して実行を許可し、ハードウェアへのアクセスのためのインタフェースを提供する。例えば、プロセス管理部103は、アプリからのシステムコールに対して、ハードウェアの利用を提供する。また、プロセス管理部103は、アプリを実行するのに必要なスタックを提供する。
IO管理部104は、デバイスドライバ11を介して、メモリ管理装置1に接続される入出力デバイスによる入出力データの管理を行う。ネットワーク管理部105は、メモリ管理装置1に接続されるネットワークの管理を行う。ファイルシステム管理部106は、ファイルシステムによるデータの取り扱いを管理する。
メモリ管理部102は、メモリ管理プログラム12を備える。メモリ管理プログラム12は、メモリ管理部102の機能に対して、本実施の形態において新たに提供する機能であり、詳細は図3を用いて後述する。なお、本実施の形態において、メモリ管理プログラム12は、メモリ管理部102の機能を拡張することによって実装している。但し、メモリ管理プログラム12を、例えばサービス13として、メモリ管理部102とは別のプログラムとして実装してもよい。
次に、メモリ管理装置1の機能を、図3を用いて説明する。図3は、メモリ管理装置1の機能の概略の一例を示す図である。
図3において、メモリ管理装置1は、図2で説明したメモリ管理プログラム12と、ダンプ復元ポイント作成プロセス(以下、「復元プロセス」と省略する。)131のプログラムが動作している。メモリ管理プログラム12は、検知部121、確保部122、及び保存部123を備える。復元プロセス131はOS層の上で動作するサービス13として実装する。但し、復元プロセス131を、例えばカーネル10の機能を拡張して実装してもよい。
メモリ管理装置1は、メモリ管理部102によってメモリ3にマッピングされた仮想アドレス空間において、主メモリ領域31と差分用メモリ領域32を備える。主メモリ領域31は、プログラムの実行においてカーネル10により利用される領域である。
差分用メモリ領域32は、ページ管理テーブル33と差分メモリ34を備える。ページ管理テーブル33は、後述するページアウト時の差分メモリデータの変更を管理するテーブルである。差分メモリ34は、コンテキスト、差分メモリデータ、メモリ変更テーブルを有している。差分用メモリ領域32には複数の差分メモリ34を備えることができる。図3で例示する差分メモリ34は、差分メモリ1(341)、差分メモリ2(342)、差分メモリ3(343)が保存された状態を図示している。それぞれ所定の差分メモリ34nには、コンテキスト34n1、差分メモリデータ34n2、およびメモリ変更テーブル34n3が対応付けられて保存される。例えば、差分メモリ1(341)には、コンテキスト3411、差分メモリデータ3412、メモリ変更テーブル3413が対応付けられて保存される。
検知部121は、主メモリ領域31を監視して、主メモリ領域31への書き込みを検知する。検知部121は、例えば、メモリ管理部102がメモリのデータを変更する書き込み処理をトラップして、主メモリ領域31への書き込みを検知してもよい。検知部121は、書き込み処理をトラップすることにより、主メモリ領域への書き込みをページ単位で検知することができる。また、検知部121は、ページング処理を検知してメモリへの書き込みを検知してもよい。
ここで、ページング処理とは、例えばユーザプロセス14が、物理メモリとしてマップされていない仮想アドレス空間上のページにアクセスしたときに発生するページフォルト処理を行うものである。メモリ管理部102は、不要なページをハードディスク等に書き出して物理メモリから消去(ページアウト)し、また、必要なページをハードディスク等から読み出して物理メモリ上に配置(ページイン)する。
確保部122は、所定のタイミングで差分用メモリ領域32に差分メモリ34の記憶領域を順次確保する。図3では、差分メモリ1(341)から差分メモリ3(343)の3つの差分メモリが確保されていることを示している。
確保部122が差分メモリ34を確保する所定のタイミングとは、例えば、所定の時間間隔が経過したときである。所定のタイミングとしては他に、メモリの変更量が所定の量に達したとき、CPUの使用率が所定値以上になったとき、ハードディスク等の記憶装置の単位時間あたりの使用量が所定の回数以上となったとき、あるいは、ネットワークの単位時間あたりの使用量が所定値以上となったとき等であってもよい。
確保部122が差分メモリ34を確保する所定のタイミングは予め設定することができる。所定のタイミングの設定について、図6を用いて説明する。図6は、差分メモリ取得方法の設定の一例を示す図である。
図6において、「設定項目」及び「パラメータ」は、差分メモリ34の確保のタイミングを表している。ユーザは、設定項目とパラメータを指定できる。設定項目がパラメータで指定された条件となったときに、差分メモリ34が確保される。例えば、設定項目で「時間」を選択して、そのパラメータが「10秒ごとに取得」であった場合、10秒ごとに、差分メモリ34が順次確保されることになる。
設定項目は複数を選択可能である。設定項目を複数選択したときには、いずれかの設定項目がパラメータで指定された条件となったときに、差分メモリ34が確保される。また、パラメータは適宜変更ができる。
図6で示す設定項目及びパラメータの指定は、例えばメモリ管理プログラム12が、出力装置6のディスプレイを通じて、図6で示した設定画面のUI(User Interface)を提供する。また、設定項目を記述したテキスト等にて、設定ファイルとして予め保存しておき、メモリ管理プログラム12の起動時に設定ファイルを読み込んでもよい。確保部122は、設定された条件に従い差分メモリ34を確保する所定のタイミングを設定又は変更することができる。
保存部123は、確保部122によって確保された差分メモリ34の記憶領域に検知部121で検知された書き込み先のデータ領域に記憶された差分メモリデータをメモリダンプとして順次保存する。ここで、メモリダンプとは、メモリに記憶されたデータを書き出したものである。保存部123が保存する差分メモリデータは、例えば、主メモリ領域31のページ単位で保存してもよい。また、複数のページを一つの差分メモリデータとして保存してもよい。
復元プロセス131は、差分メモリ34の確保に対応して、CPU2のコンテキスト情報をそれぞれの差分メモリ34に順次保存する。
コンテキスト情報は、CPU2が複数のプロセスにて共有されてコンテキストスイッチが発生したときに保存されるCPU2の使用状況を示す設定情報である。差分メモリ34に保存された差分メモリデータは、対応するコンテキスト情報と併せて保存することにより、過去の差分メモリデータとそのときのCPU2の状態と整合性を図ることができる。
ここで、整合性を図るとは、クラッシュ発生時より過去の時点でのメモリのデータと、そのときのCPU2の状態とが時系列的に対応が取れていることをいう。
主メモリ領域31のメモリデータと差分用メモリ領域32のメモリデータは、CPUがエラーによる停止をしたときに完全メモリダンプ及び差分メモリダンプとして保存される。保存された完全メモリダンプと差分メモリダンプは、エラーの解析のために、例えばCPUの再起動時に読み出すことができる。読み出された完全メモリダンプと差分メモリダンプによって、CPU2がエラーで停止する前の過去のメモリダンプを復元することができる。メモリダンプ復元の詳細は後述する。
次に、ページ管理テーブル33の詳細を、図4を用いて説明する。ページ管理テーブル33は、ページアウト時の差分メモリデータの変更を管理するテーブルである。図4は、ページ管理テーブルの一例を示す図である。
図4において、ページ管理テーブル33は、差分用メモリ領域番号、保存先のアドレス、ページアウト領域使用場所情報(1〜n)の各フィールドを有する。差分用メモリ領域番号は、ページアウトした主メモリ領域の情報が、何番目の差分メモリに保存されているのかを示す情報である。差分用メモリ領域番号は、1からnまでの整数が入力される。
保存先のアドレスは、主メモリ領域31に書き込みがされて変更があった場合に保存する、変更前の主メモリ領域31の情報を保存した差分用メモリ領域34nの開始アドレスである。なお、主メモリ領域31が変更されていない場合は(0xffffffff)が入力されている。ページ管理テーブル33を設けることによって、増減する差分メモリ34を一元的に管理することが可能となる。
ページアウト領域使用場所情報(1〜n)は、ページアウトした主メモリ領域31の情報と過去の差分用メモリ領域の情報が一致した際に追加する情報である。ページアウト領域使用場所情報は、差分メモリ34と主メモリ領域31のアドレスとを対応させて保存する。ページアウト領域使用場所情報は、一つの差分メモリ34に対して、複数の差分メモリデータを保存することができる。例えば、図4では、差分用メモリ領域番号が1の領域ではm個の差分メモリデータが保存されている。一方、差分用メモリ領域番号が2の領域では、一つの差分メモリデータ、差分用メモリ領域番号が3の領域では、二つの差分メモリデータが保存されていることを表している。
次に、それぞれの差分用メモリ領域34nが有するメモリ変更テーブル34n3の詳細を、図5を用いて説明する。図5は、メモリ変更テーブルの一例を示す図である。
図5において、それぞれのメモリ変更テーブルは、メモリ領域のアドレス、変更フラグ、および保存先のアドレスの各フィールドを有する。メモリ領域のアドレスは、主メモリ領域31をページ単位で分割したときの先頭アドレスを示す。変更フラグは、主メモリ領域31に対する変更の有無を示す。変更フラグの"1"は、変更があったことを示す。また、変更フラグの"0"は、変更が無かったことを示す。保存先のアドレスは、差分用メモリ領域34nのそれぞれの先頭アドレスである。この保存先のアドレスは、図4で説明した保存先のアドレスと同じであり、増減する差分メモリのそれぞれにおいてもメモリ領域のアドレスと対応付けて記録しておく。
次に、図3で説明したメモリ管理プログラム12による、主メモリ領域31のメモリデータの差分用メモリ領域32への保存について、図7を用いて説明する。図7は、書き込みトラップとメモリデータの保存の一例を示す図である。
図7において、(1)〜(5)は時間経過の順番を示す。(1)において、先ずは、全ての主メモリ領域31を書き込み禁止にする。(1)で図示する主メモリ領域31の網点は、主メモリ領域31が書き込み禁止の状態であることを示している。主メモリ領域31を書き込み禁止にすることにより、検知部121は主メモリ領域31に対する全ての書き込み処理をトラップする。(2)において、検知部121が主メモリ領域に対する書き込みをともなう処理をトラップして割込処理を発生させる。
(3)において、確保部122は、所定の記憶領域として差分用メモリ領域32に差分メモリ34を確保して、書き込み処理の対象となる主メモリ領域31のメモリデータ(データn)をページ単位で差分メモリ34にデータmとして保存する。なお、保存される主メモリ領域31のデータnと、差分メモリ34に保存されるデータmは、全く同一のデータであってもよいし、後述する完全メモリダンプの復元において、データmからデータnを復元できるのであれば、例えばデータmはデータnを圧縮したものであってもよい。
(4)において、保存されたデータnのメモリ領域は書き込み禁止が解除されて割込処理が終了する。(5)において、トラップされた書き込み処理が実行されて、書き込み禁止が解除された主メモリ領域31にデータn'が書き込まれる。
なお、主メモリ領域31への書き込み禁止と解除は、例えばメモリ管理プログラム12がメモリ管理部102に対して行ってもよい。
次に、図6で説明した差分メモリ取得方法において、設定項目が「時間」である場合の差分メモリ34の確保とメモリデータの保存の詳細を、図8を用いて説明する。図8は、差分メモリ34の確保とメモリデータの保存の一例を示す図である。
図8(1)において、(1)から(3)は、時刻t1からt3におけるダンプ復元ポイント1から3の主メモリ領域31のメモリの状態を示している。時刻t1におおいて、メモリの状態は、それぞれのデータ領域におけるメモリデータが「A、B、C、D、E」である。
時刻t2において、主メモリ領域31に対する書き込み処理により書き込み先のデータ領域のメモリデータ「B、E」が「Z、E'」に書き換えられる。このとき、所定の記憶領域として差分メモリ1には、書き込み先のデータ領域の書き込み処理の前のメモリデータ「B、E」が差分メモリデータ(3412−1、3412−2)に保存される。差分メモリ1(341)には、図7で説明した差分メモリ1(341)の先頭アドレス等が保存される。
次に、時刻t3において、書き込み先のデータ領域の書き込み処理の前のメモリデータ「Z、C」が、差分メモリ1(342)から変更された差分メモリ2(342)の差分メモリデータ(3422−1、3422−2)として保存されて、主メモリ領域31が「G、F」に書き換えられる。時刻t4において、書き込み先のデータ領域の書き込み処理の前のメモリデータ「G、D」が、差分メモリ2(342)から変更された差分メモリ3(343)の差分メモリデータ(3432−1、3432−2)に保存されて、主メモリ領域31が「H、D'」に書き換えられる。
時刻t4の状態にて、例えばOSがクラッシュして、CPUが停止したとすると、時刻t4における完全メモリダンプと、差分用メモリ領域32に保存された差分メモリ1(342)〜差分メモリ3(343)までの情報が保存される。また、それぞれの差分メモリには、メモリ変更テーブル(3413、3423、3433)が保存されている。
次に、OSがクラッシュした原因を解析する際の、各復元ポイントにおけるメモリダンプ復元の詳細を、図9を用いて説明する。図9は、メモリダンプの復元の一例を示す図である。
図9において、(1)は、図8で説明したOSクラッシュ時に保存された完全メモリダンプと差分用メモリ領域32を示す。
(2)において、先ず、完全メモリダンプを、OSの再起動等により読み出して、仮ダンプファイルを作成する。仮ダンプファイルの作成及び復元は、例えばダンプファイル解析用の別のコンピュータで行ってもよい。
(3)において、クラッシュ前に最後に保存された差分メモリ3(343)の差分メモリデータ(3432−1、3432−2)のメモリデータ「G、D」が、メモリ変更テーブル3433に保存された主記憶領域31のアドレスに従い、基のアドレスに書き込まれて、復元ポイント3における完全メモリダンプが復元される。
(4)において、差分メモリ2(342)の差分メモリデータ(3422−1、3422−2)のメモリデータ「Z、C」が、メモリ変更テーブル3423に保存された主記憶領域31のアドレスに従い、基のアドレスに書き込まれて、復元ポイント2における完全メモリダンプが復元される。
図9では、復元ポイント2までの完全メモリダンプの復元を図示したが、同様の方法によって、順次保存された差分メモリのデータに基づいて過去の完全メモリダンプを復元することができる。したがって、OSのクラッシュがクラッシュ直前ではない過去の原因によるものである場合には、それぞれの復元ポイントにおけるメモリダンプを時系列的に遡って復元することによりクラッシュの原因解析を容易にすることができる。
次に、図3で説明した復元プロセス131による主メモリ領域31のメモリデータとコンテキスト情報との整合について、図10を用いて説明する。図10は、差分メモリとコンテキスト情報との対応の一例を示す図である。
図10において、本実施の形態におけるメモリ管理装置1は、CPU0(20)〜CPU3(23)の4つのCPUを備えるマルチプロセッサの場合を例示している。復元プロセス131は、CPU0によって実行されるものとする。
(1)において、復元プロセス131が起動されると、主メモリ領域31のダンプ用コンテキスト保存領域(図示網点の領域)のメモリデータがコンテキストスイッチにより保存されていない場合、明示的にコンテキスト保存領域に変更を加える。変更を加えることで、図3で説明した検知部121は、主メモリ領域31への書き込みを検知して、所定の記憶領域としての差分メモリ領域(i−1)のコンテキスト保存領域34(i−1)1にメモリデータを保存する。(1)に示す処理によって、コンテキスト情報と対応付けて保存する書き込み先のデータ領域のメモリのデータが保存可能となる。また、コンテキスト情報の保存は、図7又は図8で説明したメモリ管理プログラム12によって行うことができるので、復元プロセス131がコンテキスト情報を保存する場合に比べてシステム停止時間を短縮することができる。
(2)において、復元プロセス131は、CPU1(21)〜CPU3(23)を待ち合わせ処理(ループ処理)にして停止するとともに、CPU1(21)〜CPU3(23)のコンテキスト情報をダンプ用コンテキスト保存領域に退避させる。
(3)において、復元プロセス131は、CPU0のコンテキスト情報をダンプ用コンテキスト保存領域に退避させる。
(4)において、復元プロセス131は、全ての主メモリ領域31を書き込み禁止にして、主メモリ領域31への書き込み処理をトラップする。主メモリ領域31への書き込み処理をトラップして、図7および図8で説明したとおり、書き込み先のデータ領域の書き込み前のメモリのデータを差分メモリ領域(i−1)に保存する。保存されたメモリのデータは、(1)および(2)で保存されたコンテキスト情報と同じ所定の記憶領域としての差分メモリ領域(i−1)に対応付けられて保存される。
(5)において、復元プロセス131は、差分メモリiにコンテキスト保存領域34i1を確保して、コンテキスト保存領域を差分メモリ34の中のコンテキスト保存領域34n3に変更する。例えば、n=iの場合は、コンテキスト保存領域は34i3に変更される。
(6)において、復元プロセス131は、停止しているCPU1(21)〜CPU3(23)を起動して処理を再開し、自身のプロセスを終了する。
以上の動作によって、マルチプロセッサの場合であっても、同じタイミングの全プロセッサのコンテキスト情報と差分メモリデータと対応付けて、整合させて保存することができる。また、コンテキスト情報を差分用メモリ領域32に保存することにより、コンテキスト情報の保存は、差分メモリの保存と対応付けられて行われることとなる。したがって、コンテキスト情報を復元プロセス131が割込処理にて行う必要がなくなり、割込処理によるシステムの停止時間を短くすることができる。
次に、ページング処理を考慮した差分メモリの保存について、図11を用いて説明する。図11は、ページング発生時のメモリデータの保存の一例を示す図である。
図11において、図3で説明した検知部121が、ページアウトによって主メモリ領域31のメモリデータCが保存されていたメモリ領域が変更されることを検知すると、ページ管理テーブル33に保存された情報から、これからページアウトされるメモリデータCと差分メモリに過去に保存されたメモリデータと比較する。(図11では、メモリデータCが既に保存されている場合を図示している。)
一致する情報が格納されておらず、メモリデータCが検出されなかった場合、差分メモリ2に変更される前の情報Cを保存するとともに、ページ管理テーブル33に差分メモリ3の差分メモリデータの保存先のアドレス(図示「0x####3000」)を新規に登録する。
一方、メモリデータCと一致するメモリデータが差分メモリ領域(3442−2)に既に格納されていることが検出された場合、差分メモリ領域への情報保存は行わず、ページ管理テーブル33の一致した情報の記録に対して、本来情報が保存されるべきであった場所の情報を追加する。図11では、ページアウト領域使用場所情報_1に対して、「領域3、0x####3000」が追加されることを図示している。
以上の動作によって、ページングの発生による主メモリ領域31が書き換わる場合であっても差分用メモリ領域32による差分メモリの保存ができる。
次に、差分メモリの削除について、図12及び図13を用いて説明する。図12は、差分メモリの削除方法の設定の一例を示す図である。図13は、差分メモリの削除の一例を示す図である。
差分メモリ34は、OSがクラッシュして停止等したときのみならず、稼働中においてもメモリデータとコンテキスト情報を順次保存していくため、例えば差分用メモリ領域32の記憶容量が大きくなる場合がある。そこで、本実施の形態においては、差分メモリ34を所定の条件にて削除して、障害調査に関連するデータを残しつつ、差分用メモリ領域32の記憶容量の肥大化防止を図る。
図12において、差分メモリ34の削除の方法は、設定項目とパラメータによって設定される。例えば、現在時刻より一定時間経過して古くなったメモリデータを削除する設定ができる。システムが安定して稼働している場合には、一定時間以上経過して古くなったメモリデータは、トラブルの原因解析に使用される可能性が低くなるため、クラッシュ前の所定の時間のみの記録を残して、差分メモリダンプの容量を小さくすることができる。
また、差分メモリ34を所定数毎に削除して間引く設定ができる。例えば、システムが安定して稼働している場合と、不安定となっている場合において、保存する差分メモリの時間的な粒度を変更することができる。
さらに、CPUのコンテキスト情報に特定の命令、または特定のアドレスが含まれる場合に差分メモリ34を残して他を削除する設定をすることができる。トラブルの原因となる可能性の高い命令やデータの取り扱いに対して、監視を強化することができる。
なお、図12で説明した差分メモリ34の削除の設定は、複数の設定項目を同時に設定することができる。設定はメモリ管理プログラム12が提供するUIによって設定をするようにしてもよい。また、テキストファイル
図13において、削除前は差分メモリ1〜5までが存在しているものとする。この中で差分メモリ2(342)及び差分メモリ4(344)を削除する。削除対象である差分メモリ2(342)に含まれるメモリデータ「Z、C」を、差分メモリ2(342)の直前に保存された差分メモリ1(341)に保存する。
なお、削除対象の差分メモリがページアウトにより保存されたメモリ領域である場合には、ページ管理テーブル33に記録された差分メモリの差分メモリデータの保存先のアドレスの記載も変更する。
次に、削除対象である差分メモリ4(344)に含まれるメモリデータ「U」を、差分メモリ4(344)の直前に保存された差分メモリ3(343)に保存する。一方、差分メモリ4(344)に含まれるメモリデータ「D'」は、差分メモリ3に同一領域のメモリデータ「D」が存在しているため、復元時に使用されることがない「D'」は保存しない。
次に、差分メモリ2(342)と差分メモリ4(344)を削除して削除の処理を終了する。
次に、以上説明したメモリ管理装置1の動作を、フローチャートにて説明する。
先ず、メモリ管理プログラム12の動作を、図14を用いて説明する。図14は、メモリ管理動作の一例を示すフローチャートである。
図14において、メモリ管理プログラム12の検知部121は、メモリ差分監視の機構として主メモリ領域31の監視を開始する(S11)。なお、ステップS11の動作の詳細は、図15を用いて後述する。
次に、メモリ管理プログラム12は復元ポイントの取得の要求を受けたか否かを判断する(S12)。復元ポイントの取得の要求を受けた場合(S12でYES)、ダンプ復元ポイントの作成を行う(S13)。復元ポイントの取得の要求がない場合(S12でNO)、ステップS12をループする。なお、ステップS13のダンプ復元ポイントの作成の詳細は、図16を用いて後述する。
メモリ管理プログラム12は、メモリ管理装置1が稼働中は常駐するプログラムであり、S12〜S13をループして動作する。
次に、図11で説明したページアウトによるメモリデータの取得動作の詳細を、図15を用いて説明する。図15は、メモリデータ取得の動作の一例を示すフローチャートである。
図15において、主メモリ領域31が書き込み禁止状態か否かを判断する(S21)。書き込み禁止状態において、検知部121は、主メモリ領域31の書き込み処理をトラップする。書き込み禁止で無い場合(S21でNO)、主メモリ領域31のメモリ変更が実行され(S28)、メモリ変更テーブル34n3が更新されて(S29)、処理を終了する。
一方、書き込み禁止であった場合(S21でYES)、ページアウトの発生か否かを判断する(S22)。ページアウトの発生であった場合(S22でYES)、変更前の主メモリ領域31におけるメモリデータが登録済みか否かを判断する(S23)。登録済みであった場合(S23でYES)、図11で説明したページ管理テーブル33のページアウト領域使用場所情報を更新する。
一方、登録済みで無かった場合(S23でNO)、ページ管理テーブル33の保存先のアドレスの情報に新たに差分メモリ領域を追加する更新を行い(S25)、書き込み先のデータ領域のデータを追加した差分メモリ領域に保存して退避させる(S26)。また、ページアウトで無い場合(S22でNO)、同様に書き込み先のデータ領域のデータを差分メモリ領域に保存する(S26)。
次に、ページ書き込みの禁止を解除して(S27)、メモリ変更を実行する(S28)。
以上の動作により、主メモリ領域31に対する書き込みは、差分メモリとして保存される。
次に、図10で説明したメモリダンプ復元ポイントの作成動作の詳細を、図16を用いて説明する。図16は、メモリダンプ復元ポイントの作成動作の一例を示すフローチャートである。
図16において、主メモリ領域31のコンテキスト情報が待避済みか否かを判断する(S31)。コンテキスト情報が待避済みの場合(S31でYES)、他のCPUを停止する(S33)。一方、コンテキスト情報が待避済みで無い場合(S31でNO)、コンテキスト情報を差分メモリのコンテキスト情報保存領域に保存して(S32)、他のCPUを停止する(S33)。停止したCPUのコンテキスト情報を主メモリ領域31に保存して(S34)、次に、復元プロセス131が動作するCPU0のコンテキスト情報を主メモリ領域31に保存する(S35)。
主メモリ領域31を書き込み禁止にして(S36)、差分用メモリ領域32に新しい差分メモリ領域を用意し(S37)、さらに停止したCPUの動作を再開して(S38)、メモリダンプ復元ポイントの作成動作を終了する。
次に、図9で説明したメモリダンプの復元動作の詳細を、図17を用いて説明する。図17は、メモリダンプの復元動作の一例を示すフローチャートである。
図17において、仮ダンプファイルとして、完全メモリダンプをコピーする(S41)。
次に、ステップS42からS45までの繰り返し動作を、目的の復元ポイントのメモリダンプになるまで行う。先ず、各復元ポイントに対する差分メモリのメモリ変更テーブルの情報を基に、差分メモリのメモリデータで仮ダンプファイルを書き換えて、各復元ポイントにおけるメモリダンプを復元する(S43)。
一方、差分メモリに対応する情報が無い場合には、ページ管理テーブル33に保存されたページアウト領域使用場所情報の情報を基に、メモリデータを読み出して仮ダンプファイルを書き換えてメモリダンプを復元する(S44)。
目的の復元ポイントにおけるメモリダンプまで復元してメモリダンプの復元動作を終了する。
以上説明した本実施の形態の動作によって、CPUがOSクラッシュ等により停止する前であっても、差分メモリデータとそれに対応してコンテキスト情報とを整合性をたもったまま保存するので、エラーで停止したときの完全メモリダンプに加えて、エラーで停止前の過去のCPU2の状態とメモリダンプを復元することができる。これにより、トラブルの原因を解析しやすくなる。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
メモリへの書き込みを検知し、
検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存する
処理をコンピュータに実行させるメモリ管理プログラム。
(付記2)
前記所定の記憶領域は、前記コンテキスト情報を保存するときに変更され、
前記書き込み前のデータは、変更された前記所定の記憶領域に対応付けられて順次保存される、付記1に記載のメモリ管理プログラム。
(付記3)
前記コンテキスト情報は、コンテキストスイッチによる前記コンテキスト情報の保存がされていない場合には前記メモリのコンテキスト退避領域に明示的な変更を加えることにより前記メモリへの書き込みが検知されて保存される、付記1又は2に記載のメモリ管理プログラム。
(付記4)
前記所定の記憶領域の変更は、予め設定可能な所定のタイミングで行われる、付記1乃至3のいずれか一に記載のメモリ管理プログラム。
(付記5)
保存される前記コンテキスト情報は、複数のプロセッサのコンテキスト情報である、付記1乃至4のいずれか一に記載のメモリ管理プログラム。
(付記6)
メモリへの書き込みを検知する処理と、
検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存する処理と
をコンピュータが実行するメモリ管理方法。
(付記7)
前記所定の記憶領域は、前記コンテキスト情報を保存するときに変更され、
前記書き込み前のデータは、変更された前記所定の記憶領域に対応付けられて順次保存される、付記6に記載のメモリ管理方法。
(付記8)
前記コンテキスト情報は、コンテキストスイッチによる前記コンテキスト情報の保存がされていない場合には前記メモリのコンテキスト退避領域に明示的な変更を加えることにより前記メモリへの書き込みが検知されて保存される、付記6又は7に記載のメモリ管理方法。
(付記9)
前記所定の記憶領域の変更は、予め設定可能な所定のタイミングで行われる、付記6乃至8のいずれか一に記載のメモリ管理方法。
(付記10)
保存される前記コンテキスト情報は、複数のプロセッサのコンテキスト情報である、付記6乃至9のいずれか一に記載のメモリ管理方法。
(付記11)
メモリへの書き込みを検知する検知部と、
前記検知部により検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存する保存部と
を備えたメモリ管理装置。
(付記12)
前記所定の記憶領域は、前記コンテキスト情報を保存するときに変更され、
前記書き込み前のデータは、変更された前記所定の記憶領域に対応付けられて順次保存される、付記11に記載のメモリ管理装置。
(付記13)
前記コンテキスト情報は、コンテキストスイッチによる前記コンテキスト情報の保存がされていない場合には前記メモリのコンテキスト退避領域に明示的な変更を加えることにより前記メモリへの書き込みが検知されて保存される、付記11又は12に記載のメモリ管理装置。
(付記14)
前記所定の記憶領域の変更は、予め設定可能な所定のタイミングで行われる、付記11乃至13のいずれか一に記載のメモリ管理装置。
(付記15)
保存される前記コンテキスト情報は、複数のプロセッサのコンテキスト情報である、付記11乃至14のいずれか一に記載のメモリ管理装置。
1 メモリ管理装置
2 CPU
3 メモリ
4 HDD
5 入力装置
6 出力装置
7 ネットワークI/F
8 システムバス
10 カーネル
102 メモリ管理部
103 プロセス管理部
104 IO管理部
105 ネットワーク
106 ファイルシステム
11 デバイスドライバ
12 メモリ管理プログラム
121 検知部
122 確保部
123 保存部
13 サービス
131 ダンプ復元ポイント作成プロセス
14 ユーザプロセス
31 主メモリ領域
32 差分用メモリ領域
33 メモリ管理テーブル
341、342、343 差分メモリ
3411、3421、3431 コンテキスト保存領域
3412、3422、3432 差分メモリデータ保存領域
3413、3423、3433 メモリ変更テーブル

Claims (7)

  1. メモリへの書き込みを検知し、
    検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存し、
    コンテキストスイッチにより前記コンテキスト情報の保存がされていない場合、前記メモリにおける前記コンテキスト情報を保存する領域に変更を加える、
    処理をコンピュータに実行させるメモリ管理プログラム。
  2. 前記所定の記憶領域は、前記コンテキスト情報を保存するときに変更され、
    前記書き込み前のデータは、変更された前記所定の記憶領域に対応付けられて順次保存される、請求項1に記載のメモリ管理プログラム。
  3. 前記コンテキスト情報は、コンテキストスイッチによる前記コンテキスト情報の保存がされていない場合には前記メモリのコンテキスト退避領域に明示的な変更を加えることにより前記メモリへの書き込みが検知されて保存される、請求項1又は2に記載のメモリ管理プログラム。
  4. 前記所定の記憶領域の変更は、予め設定可能な所定のタイミングで行われる、請求項1乃至3のいずれか一項に記載のメモリ管理プログラム。
  5. 保存される前記コンテキスト情報は、複数のプロセッサのコンテキスト情報である、請求項1乃至4のいずれか一項に記載のメモリ管理プログラム。
  6. メモリへの書き込みを検知する処理と、
    検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存する処理と
    コンテキストスイッチにより前記コンテキスト情報の保存がされていない場合、前記メモリにおける前記コンテキスト情報を保存する領域に変更を加える処理と、
    をコンピュータが実行するメモリ管理方法。
  7. メモリへの書き込みを検知する検知部と、
    前記検知部により検知された前記書き込みの書き込み先のデータ領域に記憶された書き込み前のデータと、前記メモリへの書き込みを検知したときのプロセッサのコンテキスト情報とを対応付けて所定の記憶領域に保存する保存部と
    を備え
    コンテキストスイッチにより前記コンテキスト情報の保存がされていない場合、前記メモリにおける前記コンテキスト情報を保存する領域に変更を加えるメモリ管理装置。
JP2013273051A 2013-12-27 2013-12-27 メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置 Active JP6237230B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013273051A JP6237230B2 (ja) 2013-12-27 2013-12-27 メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置
US14/530,890 US9575827B2 (en) 2013-12-27 2014-11-03 Memory management program, memory management method, and memory management device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013273051A JP6237230B2 (ja) 2013-12-27 2013-12-27 メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置

Publications (2)

Publication Number Publication Date
JP2015127879A JP2015127879A (ja) 2015-07-09
JP6237230B2 true JP6237230B2 (ja) 2017-11-29

Family

ID=53481807

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013273051A Active JP6237230B2 (ja) 2013-12-27 2013-12-27 メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置

Country Status (2)

Country Link
US (1) US9575827B2 (ja)
JP (1) JP6237230B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652328B2 (en) * 2014-05-12 2017-05-16 International Business Machines Corporation Restoring an application from a system dump file
US9875128B2 (en) * 2015-01-23 2018-01-23 Red Hat Israel, Ltd. Using hypervisor trapping for protection against interrupts in virtual machine functions
JP2019003588A (ja) * 2017-06-12 2019-01-10 正仁 櫨田 Cpuチップ上のコア・ブロックの1個が動作していなかったり、コア・ブロック内のトランジスターが熱崩壊をして異常な消費電流値を示してコア・ブロックが熱破壊した場合等に、cpuのコア・ブロックの今現在の全部の状態をレジスター群に保存してcpuのコア・ブロック自体へのシステム・クロックの供給や電力供給を停止してcpu自体の発熱や消費電力を抑え、cpuの動作を元の状態に復元してプログラムを再実行する時には、外部割込みに依り、cpuのコア・ブロックにシステム・クロックを再供給してレジスター群から情報を読み込んでcpuの状態を戻して、システム・クロックに従ってプログラム・カウンターの値から、メモリー上のプログラムを再起動する方法。
EP3679484A1 (en) 2017-10-03 2020-07-15 Google LLC Identifying the music as a particular song
US10983846B2 (en) * 2018-05-11 2021-04-20 Futurewei Technologies, Inc. User space pre-emptive real-time scheduler
CN110825575B (zh) * 2019-11-13 2023-04-04 重庆秦嵩科技有限公司 一种内存检测方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62509A (ja) 1985-06-27 1987-01-06 Mitsubishi Petrochem Co Ltd オレフイン重合体の製造法
JPS63168742A (ja) 1987-01-07 1988-07-12 Nec Corp 実行時メモリ情報の高速復元方式
JP3192354B2 (ja) * 1995-09-11 2001-07-23 株式会社日立製作所 コンピュータシステムのリトライ処理装置
JPH1078884A (ja) * 1996-09-02 1998-03-24 Nippon Telegr & Teleph Corp <Ntt> 仮想記憶を利用したデータ復旧方法
US20020049883A1 (en) * 1999-11-29 2002-04-25 Eric Schneider System and method for restoring a computer system after a failure
JP2005301497A (ja) 2004-04-08 2005-10-27 Hitachi Ltd ストレージ管理装置、リストア方法及びそのプログラム
US7840963B2 (en) * 2004-10-15 2010-11-23 Microsoft Corporation Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption
US8959299B2 (en) * 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
JP2006172316A (ja) * 2004-12-17 2006-06-29 Nec Corp コンテキスト維持方法、情報処理装置及び割り込み発生装置
JP5275692B2 (ja) 2007-10-24 2013-08-28 株式会社日立製作所 ストレージシステム群
US8285953B2 (en) 2007-10-24 2012-10-09 Hitachi, Ltd. Storage system group
JP4783392B2 (ja) * 2008-03-31 2011-09-28 株式会社東芝 情報処理装置および障害回復方法
JP2010165251A (ja) * 2009-01-16 2010-07-29 Toshiba Corp 情報処理装置及びプロセッサ並びに情報処理方法
US20100318746A1 (en) * 2009-06-12 2010-12-16 Seakr Engineering, Incorporated Memory change track logging
JP5609242B2 (ja) * 2010-04-28 2014-10-22 富士通株式会社 情報処理装置及びメモリダンプ採取方法
JP5742410B2 (ja) * 2011-04-11 2015-07-01 日本電気株式会社 フォールトトレラント計算機システム、フォールトトレラント計算機システムの制御方法、及びフォールトトレラント計算機システムの制御プログラム
JP5844134B2 (ja) * 2011-12-08 2016-01-13 ルネサスエレクトロニクス株式会社 マルチプロセッサ装置及びマルチプロセッサ装置の制御方法
JP5942511B2 (ja) * 2012-03-19 2016-06-29 富士通株式会社 バックアップ装置,バックアップ方法,およびバックアッププログラム

Also Published As

Publication number Publication date
US9575827B2 (en) 2017-02-21
JP2015127879A (ja) 2015-07-09
US20150186059A1 (en) 2015-07-02

Similar Documents

Publication Publication Date Title
JP6237230B2 (ja) メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置
US11106579B2 (en) System and method to manage and share managed runtime memory for java virtual machine
JP5594664B2 (ja) サービス品質に基づくストレージ階層化及び移動技法のためのシステム及び方法
CN104254840B (zh) 在计算机系统中的存储器转储和分析
WO2015169145A1 (zh) 内存管理方法和设备
US9081692B2 (en) Information processing apparatus and method thereof
US8914677B2 (en) Managing traces to capture data for memory regions in a memory
US7836344B2 (en) Method for automatic dump assurance
JP5763907B2 (ja) ロック・トレーシング機能を有する情報処理システム
US7028140B2 (en) Storage system and method for acquisition and utilization of snapshots
JPWO2006107095A1 (ja) 計算機システム,メモリ管理方法,およびそのプログラム
JP2007133544A (ja) 障害情報解析方法及びその実施装置
US11822419B2 (en) Error information processing method and device, and storage medium
CN115407943A (zh) 一种内存转储文件生成方法、装置、设备及可读存储介质
US20150160994A1 (en) Investigation program, information processing apparatus, and information processing method
JP4992740B2 (ja) マルチプロセッサシステム、障害検出方法および障害検出プログラム
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
US20140372806A1 (en) Virtual machine system and information storing processing method
JP6317646B2 (ja) 情報処理装置、不正プログラム実行防止方法、プログラム及び記録媒体
JP5948416B2 (ja) 情報処理装置、情報保存処理プログラム及び情報保存処理方法
JP5998806B2 (ja) ストレージ制御装置、ストレージ制御プログラム及びコピー方法
US10503702B2 (en) Information processing device, information processing method, and program
JP5012599B2 (ja) メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
US8614799B2 (en) Memory paging
JP2009223841A (ja) 命令ログ取得プログラム及び仮想計算機システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160905

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170630

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170810

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171003

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6237230

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150