JPWO2014006694A1 - 情報処理装置、情報保存処理プログラム及び情報保存処理方法 - Google Patents

情報処理装置、情報保存処理プログラム及び情報保存処理方法 Download PDF

Info

Publication number
JPWO2014006694A1
JPWO2014006694A1 JP2014523474A JP2014523474A JPWO2014006694A1 JP WO2014006694 A1 JPWO2014006694 A1 JP WO2014006694A1 JP 2014523474 A JP2014523474 A JP 2014523474A JP 2014523474 A JP2014523474 A JP 2014523474A JP WO2014006694 A1 JPWO2014006694 A1 JP WO2014006694A1
Authority
JP
Japan
Prior art keywords
information
storage
storage unit
stored
memory
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.)
Granted
Application number
JP2014523474A
Other languages
English (en)
Other versions
JP5948416B2 (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
Publication of JPWO2014006694A1 publication Critical patent/JPWO2014006694A1/ja
Application granted granted Critical
Publication of JP5948416B2 publication Critical patent/JP5948416B2/ja
Expired - Fee Related 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

システムに障害が発生した場合に、システム復旧時にかかるダンプ時間を短縮する情報処理システムを提供することを目的とする。情報処理装置は、情報処理装置が使用する情報を格納する第1の記憶部に格納された情報を第2の記憶部に保存し、第1の記憶部に格納された情報のうち、第2の記憶部に保存済みである情報を判別する保存完了情報を保存完了情報格納部に格納し、障害発生後に、保存完了情報に基いて、第1の記憶部に記憶された情報のうち、第2の記憶部に保存されていない情報を第2の記憶部に格納する。

Description

本発明は、メモリダンプ方法、及びそれを実行するシステムに関する。
重大なシステム障害により、システムがこれ以上稼働できないと判断した場合に、オペレーティングシステム(以下、OSと記す場合がある)は、システム障害の原因調査のために、システムに搭載された物理メモリの内容を補助記憶装置に記録する。すなわち、エラーを報告したプロセッサは、ダンプ出力用のプログラムを実行し、物理メモリの内容をディスク上のファイルに書き込む。ディスクへの書き込みが終了した後、システムは、通常の再起動のプロセスを経て、OS及びOS上で稼動するプログラムを順次起動して、システムを再稼働する。
システムの再稼動までにかかる時間は、システムが搭載するメモリの容量が増えるに従って増大する。これは、搭載メモリ量に比例してメモリダンプ時のディスク書き込み時間が増大するためである。高い可用性が要求されるシステムでは、メモリダンプにかかる再起動所要時間を許容できないため、メモリダンプを取得することができず、障害調査が行えない現状がある。
ダンプ時間を短縮するための方法として、システム障害が発生した際に、物理メモリ上の特定領域を使用するOS中核部のメモリ内容をダンプ出力し、OS中核部にあたる物理メモリ領域を解放し、再度OS中核部を該当メモリ領域へロードする方法が知られている。この方法では、ダンプ取得状況を管理するテーブルが用いられる。また、OS起動後は最低限の優先度でダンプ未取得領域のダンプ取得処理を行う。さらに、OS起動後にプログラムを実行する際、そのプログラムで使用するメモリページがダンプ未取得状態であった場合、そのメモリページをダンプ出力し、プログラムで使用する。
特開平10−333944号公報 特開2000−293391号公報 特開2009−140293号公報
しかしながら、上記方法では、重大なシステム障害が発生した際に、OS中核部分のメモリの内容をディスクにダンプ出力する時間が発生するため、システムの再稼動までに多くの時間がかかる。また、サービスが使用するメモリ領域の内容をすべてダンプ出力するまでサービスの再起動が行えない。
そこで、1つの側面では、本発明は、システムに障害が発生した場合に、システム復旧時にかかるダンプ時間を短縮する情報処理システムを提供することを目的とする。
一態様の情報処理装置は、第1の記憶部、第2の記憶部、保存完了情報格納部、第1の保存処理部、及び、第2の保存処理部を含む。第1の記憶部は、情報処理装置が使用する情報を格納する。第2の記憶部は、第1の記憶部に格納された情報を格納する。保存完了情報格納部は、第1の記憶部に格納された情報のうち第2の記憶部に保存済みである情報を判別する保存完了情報を格納する。第1の保存処理部は、第1の記憶部に格納された情報を第2の記憶部に保存した場合、保存完了情報格納部に、保存した情報に対応する保存完了情報を格納する。第2の保存処理部は、前記情報処理装置に障害が発生した場合、保存完了情報に基いて、第1の記憶部に記憶された情報のうち、第2の記憶部に保存されていない情報を判別し、前記判別した情報を第2の記憶部に保存する。
本発明の1つの側面では、システムに障害が発生した場合に、システム復旧時にかかるダンプ時間を短縮することができる。
本実施形態に係る情報処理装置の機能ブロック図の一例を示す。 本実施形態に係る情報処理装置の構成の一例を示す図である。 本実施形態に係るメモリ管理テーブルの構成の一例を示す図である。 本実施形態に係るシステム起動時の物理メモリのファイル配置の一例を示す図である。 OS稼働中の処理フローを示す図である。 重大エラー発生時の処理フローを示す図である。 メモリページに更新があった場合の、メモリ管理部及びメモリ管理テーブルの動作を説明するための図である。 本実施形態に係るメモリ管理テーブルのページアドレスフィールドと、物理メモリのメモリページが対応していることを説明するための図である。 本実施形態に係るシステムの動作開始時のOS起動直後に行うメモリのフルダンプを行った際のメモリ管理テーブルの状態を示す図である。 メモリページ更新時のメモリ管理テーブルの状態を示す図である。 OS稼働中に差分ダンプを出力する際のシステムの動作フローを示す図である。 メモリページの更新頻度に応じた物理メモリの再配置の動作フローを示す図である。 サーバに重大なエラーが発生してから、OS起動完了までのシステムの動作フローを示す図である。 OS起動後にダンプ未取得のメモリページのダンプ出力を多重処理で実行する際のシステムの動作フローを示す図である。 本実施形態における情報処理装置のハードウェア構成の一例を示す図である。
図1は、本実施形態に係る情報処理装置の機能ブロック図の一例である。
情報処理装置1は、第1の記憶部2、第2の記憶部3、保存完了情報格納部4、第1の保存処理部5、第2の保存処理部6、検知部7、制御部8、管理部9、更新頻度情報格納部10、更新頻度情報管理部11、及び、配置部12を含む。
第1の記憶部2は、情報処理装置1が使用する情報を格納する。
第2の記憶部3は、第1の記憶部2に格納された情報を格納する。
保存完了情報格納部4は、第1の記憶部2に格納された情報のうち、第2の記憶部3に保存済みである情報を判別する保存完了情報を格納する。
第1の保存処理部5は、第1の記憶部2に格納された情報を第2の記憶部3に保存した場合、保存完了情報格納部4に、保存した該情報に対応する保存完了情報を格納する。また、所定の時間間隔で、保存完了情報に基いて、第1の記憶部2に格納された情報のうち、保存済みでない情報を第2の記憶部3に保存する。
第2の保存処理部6は、情報処理装置1に障害が発生した場合、保存完了情報に基いて、第1の記憶部2に記憶された情報のうち、第2の記憶部3に保存されていない情報を判別し、判別した情報を第2の記憶部3に保存する。
検知部7は、情報処理装置1の障害を検知する。
制御部8は、検知部7が障害を検知した場合、保存完了情報に基いて、第1の記憶部2における保存済みの情報が格納された記憶領域を用いて、情報処理装置1の再起動処理を行う。
管理部9は、第1の記憶部2に格納された情報が更新された場合、更新された情報に対応する保存完了情報を保存完了情報格納部4に格納する。
更新頻度情報格納部10は、第1の記憶部2が有する記憶領域毎の更新頻度を示す更新頻度情報を格納する。更新頻度情報の値が所定の閾値以下の記憶領域に格納された情報は、第1の保存処理部5により、第2の記憶部3に保存され、第1の保存処理部5により、保存した情報に対応する保存完了情報が保存完了情報格納部10に格納される。
更新頻度情報管理部11は、第1の記憶部2に格納された情報が更新された場合、更新された情報が格納された記憶領域に対応する更新頻度情報を更新する。
配置部12は、更新頻度情報に応じて、記憶領域に格納された情報を、更新頻度情報に対応する第1の記憶部2の記憶領域に移動させる。
このように構成することで、システム稼働中にOS領域とその他のサービス(アプリケーション)が使用するメモリ領域を可能な限りダンプ取得済みの状態とする。それにより、障害発生後に取得するメモリダンプの量(ファイルへの書き込み量)を最小限にする。また、障害発生時に、ダンプ取得済みの領域を用いてOSの再起動処理を開始する。それにより、障害が発生してから、ダンプ処理にかかる時間をあけずに、直ちに再起動を開始することが可能になる。さらに、障害発生時にダンプ未取得の領域に対しては、OS再起動後もメモリの内容を開放せずに保持し、OS再起動後にダンプ未取得の領域をダンプする。それにより、障害発生時のメモリの内容を完全な状態で取得することが可能となる。
図2は、本実施形態に係る、情報処理装置1の構成の一例を示す図である。
情報処理装置1では、オペレーティングシステム58が実行される。オペレーティングシステム58の機能として、メモリ管理機構51、ページテーブル52、ダンプ取得部53、システム制御部54、メモリ管理部55、メモリ管理テーブル56が含まれる。また、情報処理装置1は、ダンプファイル57を保持する。
ダンプ取得部53は、第1の保存処理部5、第2の保存処理部6の一例として挙げられる。システム制御部54は、制御部8の一例として挙げられる。メモリ管理部55は、管理部9、更新頻度情報管理部11、配置部12の一例として挙げられる。メモリ管理テーブル56の情報は、保存完了情報格納部4が格納する保存完了情報、及び更新頻度情報格納部10が格納する更新頻度情報の一例として挙げられる。
尚、ダンプ取得部53、システム制御部54、メモリ管理部55は、オペレーティングシステム58上で実行されるアプリケーションとして実現しても、オペレーティングシステム58内で実行されるモジュールとして実現してもよい。さらに、ダンプ取得部53、システム制御部54、メモリ管理部55は、オペレーティングシステム58とは別に実行されるソフトウェアとして実現してもよい。
オペレーティングシステム58は、情報処理装置1で実行されるOSである。
メモリ管理機構51は、ページテーブル52を用いて、情報処理装置1の仮想アドレスと物理アドレスのアドレス変換を行う。ページテーブル52は、情報処理装置1の仮想アドレスと物理アドレスの対応付けを行ったマッピング情報が格納されたテーブルである。
ダンプ取得部53は、OS稼働中にメモリのフルダンプ、及び所定のタイミングで前回ダンプ取得時からの差分ダンプを出力する。OS稼働中に適宜メモリダンプを取得することで、障害発生時にダンプを取得する必要のあるメモリ容量を低減する。
OS稼働中にメモリのフルダンプを行う機能とは、OSが稼働したまま物理メモリのすべての領域の内容を、補助記憶装置にダンプファイル57として出力する機能である。メモリのフルダンプは、本実施形態のシステムの動作開始時に実行される。
OS稼働中に差分ダンプを出力する機能とは、前回ダンプ取得時から更新されたメモリ領域の内容のみを対象として、更新内容をディスク上のダンプファイル57に出力する機能である。差分ダンプは所定の時間間隔で実行される。差分ダンプの取得のタイミングはパラメータを用いることにより使用者が設定可能とする。
ダンプファイル57に対する更新処理は、前回までに取得したダンプファイル57に対して、差分の内容を上書きして更新することによって行う。もしくは、ダンプファイル57に対する更新処理は、前回までに取得したダンプファイル57とは別のファイルに差分の内容を保存し、後で差分ファイルとダンプファイル57をマージすることによって行ってもよい。
差分ダンプの対象となるメモリの領域の判定は、ダンプ取得部53が、物理メモリの更新状態を管理するメモリ管理テーブル56を用いて判定する。メモリ管理テーブル56及びメモリ管理テーブル56を用いた差分ダンプ対象領域の判定動作については後ほど説明する。
さらに、ダンプ取得部53は、障害が発生しOSが再起動された後にダンプ未取得のメモリページをダンプするが、その際に、マルチスレッドでダンプ処理を実行することにより、処理を高速化する機能を有する。この機能により、ダンプ処理を多重処理で実行することが可能となり、短時間でダンプ処理を実行することができる。マルチスレッドとは、複数のスレッドを用いて並行して処理を行うことを指す。処理の詳細については、後ほど説明する。
次に、メモリ管理テーブル56について説明する。メモリ管理テーブル56は、物理メモリを構成するメモリページ毎に、メモリページの更新頻度、及び、メモリページがダンプ済みか否かを管理する。
図3は、本実施形態に係る、メモリ管理テーブル56の構成の一例を示す図である。メモリ管理テーブル56は、管理情報として、「バージョン情報」902と、「シャットダウンステータス」903のフィールドを有する。また、「ページアドレス」904、「ダンプステータス」905、「更新回数」906のデータ項目を含む。
「バージョン情報」902は、メモリ管理テーブル56のバージョンを管理するためのフィールドである。
「シャットダウンステータス」903は、前回のシャットダウンが正常に行われたか否かを示すものである。このフィールドには、前回のシャットダウンが正常に行われた場合には、例えば、「1」が格納され、障害発生等により前回のシャットダウンが正常に行われなかった場合には、例えば、「0」が格納される。
「ページアドレス」904は、物理メモリを構成する各メモリページのアドレスを示す。「ページアドレス」904は、物理メモリの全てのページに対応付けられる。「ダンプステータス」905は、「ページアドレス」904で示されるアドレスの物理メモリの現在の内容が、ダンプ取得済みか否かを示す。「更新回数」906は、「ページアドレス」904で示されるアドレスの物理メモリが更新された回数を示す。更新された回数は、所定の時刻を基準とし、その時刻から現在までに更新された回数とする。
「ダンプステータス」905は、メモリページの現在の内容がダンプ取得済みである場合には、例えば、「1」が格納され、そうでない場合には、例えば、「0」が格納される。「ダンプステータス」905の値が書き換えられるタイミングは、メモリページのダンプ取得時と、メモリページへの書き込み(更新)発生時である。メモリページのダンプ取得時には、ダンプを取得したメモリページの「ダンプステータス」905に、例えば、「1」が書き込まれる。メモリページへの書き込み(更新)発生時には、書き込みが発生したメモリページの「ダンプステータス」905に、例えば、「0」が書き込まれる。
「更新回数」906については、メモリページへの書き込み(更新)発生時に、そのメモリページの「更新回数」906に「1」加算される。
図3では、「ページアドレス」904が「0x1000」であり、「ダンプステータス」905が「0」すなわちダンプ未取得であり、「更新回数」906が「1」すなわち前回フルダンプ実行時から現在までに1回更新された領域であることを示すエントリが示されている。
システム制御部54は、サーバに重大なエラーが発生した際に、メモリ管理テーブル56に基いてダンプ取得済みのメモリページを解放し、開放したメモリページの領域のみを使用してシステムを起動する機能を有する。この機能により、障害発生時にメモリダンプ取得のための時間を待つことなく、直ちにシステムの再起動処理を開始することが可能となる。ここで、ダンプ未取得のメモリページについては、メモリの内容がクリアされることなく、障害発生時のメモリ内容が保持されたまま、システムが再起動される。よって、ダンプ未取得のメモリの内容は、再起動後に取得することが可能であり、障害発生時のメモリの内容は完全な状態で保存可能である。
システムの起動に必要なメモリは、障害発生前のOS稼動時にダンプ取得済みである領域から確保される。上述したように、ダンプ取得済みの領域かどうかは、メモリ管理テーブル56で管理しているので、システム制御部54は、メモリ管理テーブル56を参照してダンプ取得済みの領域を判定する。
例外的に起動に必要な領域が確保できない、すなわちダンプ取得済み領域の容量がOSの起動に必要な容量に満たない場合は、ダンプ取得部53は起動に必要な領域が確保できるまでダンプを行う。そして、システム制御部54はOSの起動に必要な領域が確保されるのを待って再起動処理を開始する。
また、システム制御部54は、OSの再起動後も障害発生前のOS稼働時のメモリ管理テーブル56を引き継ぐ機能を有する。この機能を有することで、OSの再起動後にダンプ未取得のメモリページのみをダンプして、効率よく障害発生時の完全なダンプファイル57を作成することが可能となる。また、OSの再起動後にアプリケーションプログラムが新たに必要とするメモリページとして、ダンプ取得済みの領域から順次メモリページを割り当てることが可能となる。
次に、メモリ管理部55について説明する。メモリ管理部55は、メモリページの更新頻度に応じた物理メモリの再配置機能を有する。すなわち、物理メモリを更新頻度ごとの連続領域に分割して、物理メモリを構成するメモリページの内容を、そのメモリページの更新頻度に応じて、分割した領域間を移動させる。このように、物理メモリを更新頻度ごとに分類された連続領域で構成することにより、メモリダンプ処理、および、再起動処理におけるメモリの使用効率を高める。
物理メモリは、3つの連続する領域に分割される。各領域のサイズは、固定の領域サイズ毎に決定され、この領域サイズは、予め使用者によりパラメータ等で与えられるようにする。分割された3つのメモリ領域において、以下の説明では、物理アドレスが下位の領域からメモリ領域1、メモリ領域2、メモリ領域3と記す。ここで、アドレスが下位とは、アドレスの値が小さいことを指し、アドレスが上位とは、アドレスの値が大きいことを指す。
3つの連続する領域は、それらを構成するメモリページの更新頻度が同程度になるように、メモリ管理部55により制御される。すなわち、3つの連続する領域は、更新頻度が高いメモリページで構成されるメモリ領域、更新頻度が中程度のメモリページで構成されるメモリ領域、更新頻度が低いメモリページで構成されるメモリ領域となるように制御される。制御方法については、後ほど説明する。
本実施形態では、物理アドレスが下位の領域に位置するメモリ領域1は、更新頻度が低いメモリ領域に対応する。ここで、更新頻度が低い領域には、更新が発生しない書き込み禁止領域が含まれる。物理アドレスが上位の領域に位置するメモリ領域3は、更新頻度が高いメモリ領域に対応する。メモリ領域1とメモリ領域3に挟まれた物理アドレスが中位の領域に位置するメモリ領域2は、更新頻度が中程度のメモリ領域に対応する。
メモリ管理部55は、所定時間毎に、物理メモリ上のメモリページを、そのページの更新頻度に応じて分類する。そして、メモリ管理部55は、メモリページが分類された更新頻度に対応するメモリ領域(メモリ領域1、メモリ領域2、メモリ領域3のいずれか)に、メモリページを移動する。更新頻度による分類には閾値が用いられる。閾値はパラメータによりシステムの使用者が変更可能とする。また、閾値は柔軟に設定可能であり、例えば、システム負荷等に対するパラメータによる設定が可能である。
システム起動時およびサービス・アプリケーション起動時のイメージ等は、使用用途に応じて分類され、3つの領域に配置される。すなわち、メモリ管理部55は、OSの核となるモジュールおよび読み取り専用のコード領域等を「更新頻度低」として分類しメモリ領域1に配置する。メモリ管理部55は、更新頻度が高い用途領域等を「更新頻度高」として分類し、メモリ領域3に配置する。例えば、サーバ起動時に、通常、次回再起動まで更新されることがない読み取り専用領域をメモリ領域1にロードする。読み取り専用領域は、例えば、OSカーネルやシステム稼働に必須となるデバイスドライバーなどがある。
図4は、本実施形態に係る、システム起動時における物理メモリのファイル配置の一例を示す図である。図4の例では、下位のアドレス領域に位置し、更新頻度低に対応するメモリ領域1には、OSカーネルモジュール・データ、ブートドライバの領域が含まれている。上位のアドレス領域に位置し、更新頻度高に対応するメモリ領域3には、データ領域、その他の領域が含まれている。
システム起動時に上記規則に従ってメモリページを配置したうえで、メモリ管理部55は、メモリ管理テーブル56を用いて定期的にメモリ書き込みの頻度を確認し、メモリページの内容を更新頻度に応じて移動する。具体的には、更新頻度による分類のために用いる閾値を予め設定しておき、更新頻度が閾値よりも高いページをひとつ上位の領域に移動し、更新頻度が閾値よりも低いページをひとつ下位の領域に移動する。例えば、メモリ管理部55は、メモリ領域2に位置するメモリページに対して書き込みの頻度を確認した結果、書き込みの頻度が閾値よりも高い場合は、そのメモリページをメモリ領域3に移動する。尚、メモリ管理部55によるメモリページの移動は、メモリの内容を複製することで実施してもよい。ここで、メモリ管理部55は、様々な理由によりメモリの内容を移動できないと判断した場合は、移動は行わない。
メモリ管理部55がメモリページの内容を移動した場合、OSが管理する物理アドレスと仮想アドレスの対応付けが変更されることとなる。そこで、メモリ管理部55は、メモリページの移動完了後にシステムのページテーブル52を更新する。すなわち、メモリ管理部55は、ページテーブル52において、移動を行う対象となったメモリの仮想アドレスに対応する物理アドレスを、移動前の物理アドレスから、移動後の物理アドレスに変更して、仮想アドレスと物理アドレスのマッピングを更新する。よって、メモリの再配置の動作に伴って、アプリケーションの動作を変更する必要はない。
尚、メモリ再配置機能は、プラットフォーム(ハードウェア・ハイパーバイザ)と連携する実装とすることも可能である。
このようにメモリの再配置をおこなうことにより、稼働中のメモリダンプ情報と再起動後に作成したメモリを高速に結合処理することができ、障害発生後のメモリダンプ作成にかかる時間を短縮できる。ここで、更新頻度低に対応するメモリ領域1の内容は、ダンプ取得済みである可能性が高く、再起動はダンプ取得済みの領域が使用されて実行される。そのため、更新頻度低の領域がアドレスの下位側に連続して確保できれば、システムの再起動時にメモリを効率的に使用することができる。更新頻度低の領域を物理メモリの下位側に配置する理由は、アドレスが下位の領域からメモリダンプが行われるため、このように配置することは、メモリダンプの効率化につながるからである。
次に、本実施形態に係るシステムの処理の流れを説明する。
本実施形態のシステムの動作開始に当たって、ダンプ取得部53は、OSの起動直後に、メモリの全ての領域の内容をダンプファイル57としてディスクに保存する。それ以降の通常運用においては、更新されたメモリ領域のみを対象に、任意のタイミングでダンプファイル57を差分更新する。ここで、すべてのメモリ更新に追従して、ダンプファイル57を更新すると、ダンプ処理に伴うシステムにかかる負荷が大きくなるため、更新頻度の高いメモリ領域については差分更新の対象外とする。また、ある領域のメモリの更新頻度、及びその領域がダンプ取得済みかどうかは、メモリ管理テーブル56によって管理される。
障害が発生した場合システムは再起動されるが、再起動のために使用される領域としては、障害発生時点においてメモリダンプ取得済みの領域が使用される。ダンプ未取得のメモリ領域は、再起動後も、障害発生時の内容がそのまま保持された状態で引き継がれる(クリアされない)。なお、前回稼働時のメモリ管理テーブル56の情報は、たとえ、メモリ管理テーブル56が格納されているメモリ領域がダンプ取得済みであったとしても、再起動処理には使用されず、再起動後も内容が引き継がれる。このメモリ管理テーブル56の情報を元に、ダンプ未取得の領域は、再起動後にダンプ出力される。
図5は、OS稼働中の情報処理装置1の処理フローを示す図である。
システムの起動完了後(S1101)、ダンプ取得部53は、物理メモリのすべての領域の内容を補助記憶装置上に出力するフルダンプを行う(S1102)。フルダンプが終了したら、メモリ管理部55によるメモリ管理テーブル56の運用が開始される(S1103)。所定の時間間隔毎に、システムの稼動に伴って更新されたメモリ領域の内容がダンプ出力される(S1104)。さらに、メモリ管理部55は、メモリ管理テーブル56の情報を用いて、更新頻度による物理メモリの再配置を行う(S1105)。
図6は、重大エラー発生時の情報処理装置1の処理フロー図である。
CPUがエラーを検出すると、システムクラッシュが発生し(S1201)、ダンプ取得済みのメモリ領域が初期化される(S1202)。
次に、システムリセットが実行される(S1203)。ここでは、メモリの初期化は行われない。
次に、S1202で初期化されたメモリ領域を用いて、OSが起動される(S1204)。
次に、メモリ管理テーブル56の読み込みが行われる(S1205)。
OSの起動が完了すると(S1206)、ダンプ未取得領域の差分ダンプ出力(S1207)及びダンプ取得済み物理メモリの開放(S1208)と、サービスの起動(S1209)が並行して行われる。ダンプ未取得領域の差分ダンプにおいて、ダンプ未取得領域の判定はS1205で読み込んだメモリ管理テーブル56を用いて行われる。ダンプ未取得領域の差分ダンプ出力が進むにつれ、順次ダンプ出力が完了した物理メモリが開放される(S1208)。すべての障害発生時の物理メモリのダンプが完了した場合、システムの再起動が完了する(S1210)。
次に、通常運用における、メモリページに更新があった場合のメモリ管理部55及びメモリ管理テーブル56の動作について説明する。図7は、メモリページに更新があった場合の、メモリ管理部55及びメモリ管理テーブル56の動作を説明するための図である。
まず、本実施形態に係るシステムの動作開始にあたって、メモリ管理部55は、すべての物理メモリを構成するメモリページの管理情報を有するメモリ管理テーブル56を作成する(S201)。メモリ管理テーブル56の「ページアドレス」904の項目は、システムに搭載された物理メモリのすべてのページに対応するように作成される。ここで、すべてのメモリページには、メモリ領域1、2に加えて、更新頻度高のメモリ領域3が含まれる。また、すべての「ダンプステータス」905の値は「1」に設定され、全ての「更新回数」906の値は「0」に設定される。
図8は、本実施形態に係るメモリ管理テーブル56の「ページアドレス」904と、物理メモリのメモリページが対応していることを説明するための図である。図8に示すように、物理メモリのすべてのページに対応するように、「ページアドレス」904にページアドレスを格納する。
図9は、本実施形態に係るシステムの動作開始時のOS起動直後に行うメモリのフルダンプ(S1102)を行った際のメモリ管理テーブル56の状態を示す図である。メモリ管理テーブル56のすべての「ダンプステータス」905に「1」が格納され、「更新回数」906には「0」が格納されている。
物理メモリのメモリページに対する書き込みが発生した場合、メモリ管理部55は、OSのメモリ管理機構51からページ変更の通知を受け取る(S202)。メモリ管理部55は、ページ変更の通知を受けると、通知を受けたページに対応するメモリ管理テーブル56の「ダンプステータス」905の値を「0」に変更し、「更新回数」906の値をインクリメントする(S203)。
図10は、メモリページ更新時のメモリ管理テーブル56の状態を示す図である。メモリ管理部55は、更新のあったページに対応するエントリの「ダンプステータス」905に「0」を格納し、「更新回数」906の値をインクリメントする。
メモリ管理部55がメモリ管理テーブル56を更新したら、S202に処理が移行する。
次に、OS稼働中に差分ダンプを出力する機能について説明する。
ダンプ取得部53は、所定の時間間隔で差分ダンプを出力する。ダンプ取得部53は、メモリ管理テーブル56を用いて差分ダンプの対象となる領域を判定し、差分ダンプ対象と判定されたメモリ領域のみをダンプする。すなわち、ダンプ取得部53は、メモリ管理テーブル56の「ダンプステータス」905の値を参照し、その値が「0」であるメモリページを差分ダンプの対照とする。ただし、更新頻度の高いメモリ領域3に配置されるメモリについては、差分更新の対象外とする。
図11は、OS稼働中に差分ダンプを出力する際のシステムの動作フローを示す図である。このフロー図で示す処理は、図5のS1104における処理を詳細に記したものである。
差分ダンプ出力処理では、物理メモリのページアドレスの下位から上位に向かってページ単位で、S302〜S306に示す処理が実施される。すなわち、S302〜S306のループでは、1回のループにおいて処理対象となるのは単一のページであり、ループが進む毎に、処理対象となるページは、上位アドレスのページとなる。
まず、ダンプ取得部53は、差分ダンプ出力処理において、物理メモリにおける最も下位のアドレスのページを、処理対象のページとして設定する(S301)。
次に、ダンプ取得部53は、現在処理対象のページが更新頻度高の領域、すなわち、メモリ領域3に含まれるページか否かを判定する(S302)。
更新頻度高の領域の場合(S302でYes)、処理はS307に移行する。更新頻度高の領域でない場合(S302でNo)、ダンプ取得部53は、現在処理対象のページがダンプ取得済みか否かを判定する(S303)。ここで、ダンプ取得部53は、メモリ管理テーブル56を用いて、ダンプ取得済みか否かの判定を行う。すなわち、ダンプ取得部53は、「ページアドレス」904が現在処理対象のページのアドレスと一致するメモリ管理テーブル56のエントリにおいて、「ダンプステータス」905の値を参照し、その値が「1」であるか否かを判定する。
現在処理対象のページがダンプ取得済みである場合(S303でYes)、処理はS306に移行する。現在処理対象のページがダンプ取得済みでない場合(S303でNo)、ダンプ取得部53は、ダンプ未取得である現在処理対象のページの内容をディスク上のダンプファイル57に上書きして更新する(S304)。
そして、ダンプ取得部53は、S304でダンプした現在処理対象のページをダンプ出力済みとする。すなわち、ダンプ取得部53は、「ページアドレス」904が現在処理対象のページのアドレスと一致するメモリ管理テーブル56のエントリにおいて、そのエントリの「ダンプステータス」905の値を「1」にする(S305)。
そして、処理対象のページを、現在処理対象のページに対してアドレスが1つ上位のページとする(S306)。そして、処理はS302に戻る。
S301で処理対象のページが更新頻度高の領域であると判定された場合は、予め設定しておいた次の差分ダンプの出力条件まで待機する(S307)。そして、差分ダンプの出力条件が満たされると、S301に処理が戻る。
S307における差分ダンプ出力条件は、例えば、所定時間の経過や、更新ページ数が一定数に到達すること等が挙げられる。具体的には、例えば、S307で待機を開始してから、予め設定しておいた一定時間(1分間等)が経過することが条件として考えられる。また、例えば、S307で待機を開始してから、更新されたメモリページの数が一定ページ数以上(1000ページ以上等)に達することが条件として考えられる。
次に、メモリページ更新頻度に応じた物理メモリの再配置の動作について説明する。図12は、メモリページの更新頻度に応じた物理メモリの再配置の動作フローを示す図である。このフロー図で示す処理は、図5のS1105における処理を詳細に記したものである。
物理メモリの再配置処理では、物理メモリのアドレスの下位から上位に向かってページ単位で、S402〜S407に示す処理が実施される。すなわち、S402〜S407のループでは、1回のループにおいて処理対象となるのは単一のページであり、ループが進む毎に、処理対象となるページは、上位アドレスのページとなる。
まず、メモリ管理部55は、物理メモリの再配置処理において、物理メモリにおける最も下位のアドレスのページを、処理対象のページとして設定する(S401)。
次に、メモリ管理部55は、現在処理対象のページの更新回数が、あらかじめ設定された閾値を超えているか否かを調べる(S402)。すなわち、メモリ管理部55は、「ページアドレス」904が現在処理対象のページのアドレスと一致するメモリ管理テーブル56のエントリにおいて、そのエントリの「更新回数」906の値を参照し、参照した値が予め与えられた閾値よりも大きいか否かを判定する。
現在処理対象のページの更新回数が閾値を超えていない場合(S402でNo)、処理はS406に移行する。現在処理対象のページの更新回数が閾値を超えている場合(S402でYes)、メモリ管理部55は、現在処理対象のページの内容を、更新頻度により分類されたメモリ領域のひとつ上位のメモリ領域の未使用領域に移動する(S403)。すなわち、現在処理対象のページが更新頻度低であるメモリ領域1に含まれている場合、メモリ管理部55は、現在処理対象のページの内容を更新頻度中であるメモリ領域2の空きメモリに移動する。また、現在処理対象のページが更新頻度中であるメモリ領域2に含まれている場合、メモリ管理部55は、現在処理対象のページの内容を更新頻度高であるメモリ領域3の空きメモリに移動する。
次に、メモリ管理部55は、システムの物理・仮想アドレスのマップ関係を移動先の物理アドレスに基いて更新する(S404)。すなわち、メモリ管理部55は、システムが保持するページテーブル52において、現在処理対象のページの仮想アドレスに対応する物理アドレスを、移動前の物理アドレスから、移動後の物理アドレスに変更する。
次に、メモリ管理部55は、メモリ管理テーブル56の現在処理対象のページのアドレスの「更新回数」906をクリアする(S405)。すなわち、メモリ管理部55は、「ページアドレス」904が現在処理対象のページのアドレスと一致するメモリ管理テーブル56のエントリにおいて、そのエントリの「更新回数」906の値を「0」に変更する。
次に、メモリ管理部55は、現在処理対象のページが更新頻度高の領域であるメモリ領域3に含まれているか否かを判定する(S406)。更新頻度高の領域でない場合(S406でNo)、処理対象のページを、現在処理対象のページに対してアドレスが1つ上位のページとする(S407)。そして、処理はS402に戻る。
更新頻度高の領域である場合(S406でYes)、次のメモリ再配置条件まで待機する(S408)。S408におけるメモリ再配置条件は、例えば、所定時間の経過等が挙げられる。具体的には、例えば、S408で待機を開始してから、予め設定された一定時間(一分間等)が経過することが条件として考えられる。
メモリ再配置条件が満たされると、処理はS401に戻る。
尚、S402において、現在処理対象のページの更新回数が閾値を超えていない場合に(S402でNo)、処理がS405に遷移する動作としてもよい。また、図12の処理と同様に、メモリ管理部55は、更新頻度が所定の閾値(S402における閾値とは異なる閾値)よりも低いページについて、更新頻度により分類されたメモリ領域のひとつ下位のメモリ領域の未使用領域に移動する処理をしてもよい。
次に、サーバに重大なエラーが発生してから、OS起動完了までのシステムの処理フローの詳細について説明する。システム制御部54は、エラー発生時の未ダンプ領域のメモリ内容を保持したまま、ダンプ取得済みのメモリ領域(メモリ領域1)のみを使用してシステムを再起動する。ここで、システム制御部54は、メモリ領域がダンプ取得済みか否かを、メモリ管理テーブル56を用いて判定する。メモリ管理テーブル56の格納に使用するメモリ領域は、必ずメモリ内容を保持したままの状態で、再起動後も引き継がれる。ここで、メモリ管理テーブル56用の記憶域を物理メモリとは別装置で実装する場合は、この限りではない。
図13は、サーバに重大なエラーが発生してから、OS起動完了までのシステムの処理フローを示す図である。このフロー図で示す処理は、図6のS1201からS1210における処理の詳細を記したものである。
システムに重大なエラーが発生し、システムクラッシュが発生すると(S501)、システム制御部54は、メモリ管理テーブル56の「シャットダウンステータス」903の値を「0」に変更する。次に、システム制御部54は、メモリ管理テーブル56の最も下位のアドレスから更新頻度高の領域の直前のアドレスまで、ダンプ出力済みであるページ数を調べる(S502)。具体的には、システム制御部54は、メモリ管理テーブル56の最も下位のアドレスから更新頻度高の領域の直前までのページアドレスをもつエントリの「ダンプステータス」905を参照し、「ダンプステータス」905の値が「1」であるページの数を算出する。
次に、システム制御部54は、S502で算出したダンプ取得済みページの合計サイズから次回の起動に必要な容量が確保されているかを判定する(S503)。すなわち、システム制御部54は、S502で算出したダンプ取得済みページの合計サイズが次回の起動に必要な容量を上回っているかを判定する。尚、次回の起動に必要な容量が確保されていないと判定された場合には、起動に必要な容量が確保されるまで、ダンプ取得部53によりダンプ処理が実行される。
次に、システム制御部54はOSの再起動処理を開始する(S504)。OSの起動が開始されると(S505)、システム制御部54はメモリ管理テーブル56を読み込む(S506)。そして、システム制御部54は、メモリ管理テーブル56を参照して、前回のシステム停止はクラッシュであったか否かを判定する(S507)。具体的には、システム制御部54は、メモリ管理テーブル56の「シャットダウンステータス」903の値が「0」であれば、前回のシステム停止はクラッシュであると判定し、「1」であれば、前回のシステム停止はクラッシュではないと判定する。前回のシステム停止がクラッシュであったと判定した場合(S507でYes)、システム制御部54は、ダンプ取得済みのメモリ領域を使用してOSを起動する(S508)。具体的には、システム制御部54は、まずメモリ管理テーブル56が保存されているメモリ領域を除く、ダンプ取得済みであるページに対して、そのメモリ領域を開放する。すなわち、システム制御部54はダンプ取得済みのページを使用可能メモリとして、OSのメモリ管理機構51に通知する。そして、システム制御部54は、開放されたメモリ領域のみを用いてOSの起動処理を行う。その後OS起動が完了する(S510)。
S507において、前回のシステム停止がクラッシュではなかったと判定した場合(S507でYes)、システム制御部54は通常のシステム起動方法でOSを起動し(S509)、その後OSの起動が完了する(S510)。
次に、OS起動後に、ダンプ未取得のメモリページのダンプ出力を多重処理で実行する動作について説明する。図14は、OS起動後にダンプ未取得のメモリページのダンプ出力を多重処理で実行する際のシステムの動作フローを示す図である。
OS起動完了後(S601)、システム制御部54は、メモリ管理テーブル56の「シャットダウンステータス」903を参照して、前回のシステム停止はクラッシュであったか否かを判定する。(S602)。前回のシステム停止はクラッシュであった場合(S602でYes)、システム制御部54は、ダンプ処理スレッドを複数生成する(S603)。S603で生成された複数のダンプ処理スレッドは、S605〜S607の処理を並列に実行する。S604では、ダンプ処理スレッド1、ダンプ処理スレッド2、ダンプ処理スレッド3が生成されている。以下の説明では、複数のダンプ処理スレッドをまとめて、単にダンプ処理スレッドと記す。ダンプ処理スレッドはダンプ取得部53を構成するスレッドである。
ダンプ処理スレッドは、メモリ管理テーブル56を参照してダンプ未取得であるページを判定し、ダンプ未取得であると判定したページの内容をダンプファイル57に保存する。具体的には、ダンプ処理スレッドは、メモリ管理テーブル56の全てのエントリの「ダンプステータス」905を参照し、その値が「0」であるページのダンプを取得する。そして、ダンプ処理スレッドは、ダンプを取得したことをメモリ管理テーブル56に登録する。すなわち、ダンプを取得したページに対応する「ダンプステータス」905の値を「1」に変更する。
次に、ダンプ処理スレッドは、S605でダンプを取得したメモリページを開放する。すなわち、ダンプを取得したメモリページを使用可能メモリとしてOSのメモリ管理機構51に通知する(S606)。
すべてのダンプ出力処理が終了したら、すなわち、メモリ管理テーブル56の「ダンプステータス」905の値が「0」であるエントリがなくなったら、ダンプ処理スレッドは、すべてのサービスが起動完了するまで、待機する(S607)。
すべてのサービスが起動完了したら、OSは、システム起動完了をシステムに通知する(S609)。
S602において、前回のシステム停止はクラッシュではなかったと判定された場合(S602でNo)、システムの起動は通常の動作となるので、すべてのサービスが起動完了するまで待機する(S608)。そして、全てのサービスが起動完了したら、OSは、システム起動完了をシステムに通知する(S609)。
尚、ダンプ取得部53、メモリ管理部55の機能をOSにて実装することにより、OSのダンプ取得機能を強化し、サービス再開までの時間が短縮される。
図15は、本実施形態における情報処理装置1のハードウェア構成の一例を示す図である。
情報処理装置1は、メモリ21、CPU22、補助記憶装置23、及び入力装置24を含む。また、メモリ21、CPU22、補助記憶装置23、及び入力装置24は、例えば、バス25を介して互いに接続される。CPU22の一例は、プロセッサである。
CPU22は、メモリ21に記憶された各種プログラムを実行することによって、各種業務を処理する。具体的には、CPU22は、第1の保存処理部5、第2の保存処理部6、検知部7、制御部8、管理部9、配置部11の機能を実行する。すなわち、メモリ管理部55、システム制御部54、ダンプ取得部53などの機能を実行する。
メモリ21は、CPU22によって実行されるプログラム及び当該プログラムによって使用されるデータが記憶される。具体的には、メモリ11上では、オペレーティングシステム58、ダンプ取得部53、システム制御部54、及びメモリ管理部55などのプログラムが実行される。また、メモリ21は、第1の記憶部2、保存完了情報格納部4、更新頻度情報格納部10の一例として挙げられる。
補助記憶装置23には、メモリ21の内容を保存したダンプファイル57が格納される。補助記憶装置23は、第2の記憶部の一例として挙げられる。
また、メモリ管理テーブル56は、メモリ21に記憶されてもよいし、情報処理装置1内の所定の領域に記憶されてもよい。
入力装置24は、情報処理装置1の使用者によりダンプ取得のタイミング、物理メモリの更新頻度毎の固定の領域サイズ、または更新頻度の閾値が設定される際に使用される。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 情報処理装置
2 第1の記憶部
3 第2の記憶部
4 保存完了情報格納部
5 第1の保存処理部
6 第2の保存処理部
7 検知部
8 制御部
9 管理部
10 更新頻度情報格納部
11 配置部
一態様の情報処理装置は、第1の記憶部、第2の記憶部、保存完了情報格納部、第1の保存処理部、検知部、制御部、及び、第2の保存処理部を含む。第1の記憶部は、情報処理装置が使用する情報を格納する。第2の記憶部は、第1の記憶部に格納された情報を格納する。保存完了情報格納部は、第1の記憶部に格納された情報のうち第2の記憶部に保存済みである情報を判別する保存完了情報を格納する。第1の保存処理部は、第1の記憶部に格納された情報を第2の記憶部に保存した場合、保存完了情報格納部に、保存した情報に対応する保存完了情報を格納する。検知部は、情報処理装置の障害を検知する。制御部は、検知部が障害を検知した場合、保存完了情報に基いて、第1の記憶部における保存済みの情報が格納された領域を用いて、情報処理装置の再起動処理を行う。第2の保存処理部は、検知部が障害を検知した場合、保存完了情報に基いて、第1の記憶部に記憶された情報のうち、第2の記憶部に保存されていない情報を判別し、判別した情報を第2の記憶部に保存する。

Claims (15)

  1. 情報処理装置が使用する情報を格納する第1の記憶部と、
    前記第1の記憶部に格納された情報を格納する第2の記憶部と、
    前記第1の記憶部に格納された情報のうち、前記第2の記憶部に保存済みである情報を判別する保存完了情報を格納する保存完了情報格納部と、
    前記第1の記憶部に格納された情報を前記第2の記憶部に保存した場合、前記保存完了情報格納部に、保存した該情報に対応する前記保存完了情報を格納する第1の保存処理部と、
    前記情報処理装置に障害が発生した場合、前記保存完了情報に基いて、前記第1の記憶部に記憶された情報のうち、前記第2の記憶部に保存されていない情報を判別し、前記判別した情報を前記第2の記憶部に保存する第2の保存処理部と、
    を備えることを特徴とする情報処理装置。
  2. 前記情報処理装置は、さらに、
    前記情報処理装置の障害を検知する検知部と、
    前記検知部が前記障害を検知した場合、前記保存完了情報に基いて、前記第1の記憶部における前記保存済みの情報が格納された領域を用いて、前記情報処理装置の再起動処理を行う制御部と、
    を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記情報処理装置は、さらに、
    前記第1の記憶部に格納された情報が更新された場合、該更新された情報に対応する前記保存完了情報を前記保存完了情報格納部に格納する管理部
    を備えることを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第1の保存処理部は、所定の時間間隔で、前記保存完了情報に基いて、前記第1の記憶部に格納された情報のうち、前記第2の記憶部に保存されていない情報を前記第2の記憶部に保存する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記情報処理装置は、さらに、
    前記第1の記憶部が有する記憶領域毎の更新頻度を示す更新頻度情報を格納する更新頻度情報格納部と、
    前記第1の記憶部に格納された情報が更新された場合、該更新された情報が格納された前記記憶領域に対応する前記更新頻度情報を更新する更新頻度情報管理部と、
    を備え、
    前記第1の保存処理部は、前記更新頻度情報の値が所定の閾値以下の前記記憶領域に格納された情報を前記第2の記憶部に保存し、前記保存完了情報格納部に、保存した該情報に対応する前記保存完了情報を格納する
    ことを特徴とする請求項1〜4のうちいずれか1項に記載の情報処理装置。
  6. 前記情報処理装置は、さらに、
    前記更新頻度情報に応じて、前記記憶領域に格納された情報を、前記更新頻度情報に対応する前記第1の記憶部の記憶領域に移動させる配置部と、
    を備えることを特徴とする請求項5に記載の情報処理装置。
  7. 情報処理装置が使用する情報を格納する第1の記憶部に格納された情報を、前記第1の記憶部に格納された情報を格納する第2の記憶部に保存した場合、前記第1の記憶部に格納された情報のうち、前記第2の記憶部に保存済みである情報を判別する保存完了情報を格納する保存完了情報格納部に、保存した該情報に対応する前記保存完了情報を格納し、
    前記情報処理装置に障害が発生した場合、前記保存完了情報に基いて、前記第1の記憶部に記憶された情報のうち、前記第2の記憶部に保存されていない情報を判別し、前記判別した情報を前記第2の記憶部に保存する
    処理をコンピュータに実行させることを特徴とする情報保存処理プログラム。
  8. 前記情報処理装置の障害を検知し、
    前記障害を検知した場合、前記保存完了情報に基いて、前記第1の記憶部における前記保存済みの情報が格納された領域を用いて、前記情報処理装置の再起動処理を行う
    処理をコンピュータに実行させることを特徴とする請求項7に記載の情報保存処理プログラム。
  9. 前記第1の記憶部に格納された情報が更新された場合、該更新された情報に対応する前記保存完了情報を前記保存完了情報格納部に格納する
    処理をコンピュータに実行させることを特徴とする請求項7または8に記載の情報保存処理プログラム。
  10. 所定の時間間隔で、前記保存完了情報に基いて、前記第1の記憶部に格納された情報のうち、前記第2の記憶部に保存されていない情報を前記第2の記憶部に保存する
    処理をコンピュータに実行させることを特徴とする請求項9に記載の情報保存処理プログラム。
  11. 前記第1の記憶部に格納された情報が更新された場合、前記第1の記憶部が有する記憶領域毎の更新頻度を示す更新頻度情報のうち、前記更新された情報が格納された前記記憶領域に対応する前記更新頻度情報を更新し、
    前記更新頻度情報の値が所定の閾値以下の前記記憶領域に格納された情報を、前記第2の記憶部に保存し、前記保存完了情報格納部に、保存した該情報に対応する前記保存完了情報を格納する
    処理をコンピュータに実行させることを特徴とする請求項7〜10のうちいずれか1項に記載の情報保存処理プログラム。
  12. 情報処理装置が使用する情報を格納する第1の記憶部に格納された情報を、前記第1の記憶部に格納された情報を格納する第2の記憶部に保存した場合、前記第1の記憶部に格納された情報のうち、前記第2の記憶部に保存済みである情報を判別する保存完了情報を格納する保存完了情報格納部に、保存した該情報に対応する前記保存完了情報を格納し、
    前記情報処理装置に障害が発生した場合、前記保存完了情報に基いて、前記第1の記憶部に記憶された情報のうち、前記第2の記憶部に保存されていない情報を判別し、前記判別した情報を前記第2の記憶部に保存する
    処理をコンピュータが実行することを特徴とする情報保存処理方法。
  13. 前記情報処理装置の障害を検知し、
    前記障害を検知した場合、前記保存完了情報に基いて、前記第1の記憶部における前記保存済みの情報が格納された領域を用いて、前記情報処理装置の再起動処理を行う
    処理をコンピュータが実行することを特徴とする請求項12に記載の情報保存処理方法。
  14. 前記第1の記憶部に格納された情報が更新された場合、該更新された情報に対応する前記保存完了情報を前記保存完了情報格納部に格納する
    処理をコンピュータが実行することを特徴とする請求項12または13に記載の情報保存処理方法。
  15. 所定の時間間隔で、前記保存完了情報に基いて、前記第1の記憶部に格納された情報のうち、前記第2の記憶部に保存されていない情報を前記第2の記憶部に保存する
    処理をコンピュータが実行することを特徴とする請求項14に記載の情報保存処理方法。
JP2014523474A 2012-07-03 2012-07-03 情報処理装置、情報保存処理プログラム及び情報保存処理方法 Expired - Fee Related JP5948416B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/067015 WO2014006694A1 (ja) 2012-07-03 2012-07-03 情報処理装置、情報保存処理プログラム及び情報保存処理方法

Publications (2)

Publication Number Publication Date
JPWO2014006694A1 true JPWO2014006694A1 (ja) 2016-06-02
JP5948416B2 JP5948416B2 (ja) 2016-07-06

Family

ID=49881485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014523474A Expired - Fee Related JP5948416B2 (ja) 2012-07-03 2012-07-03 情報処理装置、情報保存処理プログラム及び情報保存処理方法

Country Status (3)

Country Link
US (1) US20150100825A1 (ja)
JP (1) JP5948416B2 (ja)
WO (1) WO2014006694A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740551B2 (en) 2014-12-02 2017-08-22 International Business Machines Corporation Enhanced restart of a core dumping application
US10846219B2 (en) * 2015-07-31 2020-11-24 Hewlett Packard Enterprise Development Lp Data copy to non-volatile memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03110641A (ja) * 1989-09-25 1991-05-10 Nec Corp ダンプ出力制御方法
JPH04195565A (ja) * 1990-11-28 1992-07-15 Nec Corp ダンプ出力方式
JP2002049519A (ja) * 2000-08-03 2002-02-15 Nippon Yunishisu Kk 情報処理装置およびその方法
JP2002091807A (ja) * 2000-09-14 2002-03-29 Hitachi Ltd 差分データ取得機能
JP2009205254A (ja) * 2008-02-26 2009-09-10 Fujitsu Ltd 計算機、ダンププログラムおよびダンプ方法
JP2009301378A (ja) * 2008-06-16 2009-12-24 Mitsubishi Electric Corp 監視制御システム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
JP4319017B2 (ja) * 2003-12-02 2009-08-26 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及び記憶装置
JP4833734B2 (ja) * 2006-05-19 2011-12-07 株式会社日立製作所 データベースシステム、ストレージ装置、初期コピー方法及びログ適用方法
US7627687B2 (en) * 2006-09-28 2009-12-01 Emc Israel Development Center, Ltd. Methods and apparatus for managing data flow in a continuous data replication system having journaling

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03110641A (ja) * 1989-09-25 1991-05-10 Nec Corp ダンプ出力制御方法
JPH04195565A (ja) * 1990-11-28 1992-07-15 Nec Corp ダンプ出力方式
JP2002049519A (ja) * 2000-08-03 2002-02-15 Nippon Yunishisu Kk 情報処理装置およびその方法
JP2002091807A (ja) * 2000-09-14 2002-03-29 Hitachi Ltd 差分データ取得機能
JP2009205254A (ja) * 2008-02-26 2009-09-10 Fujitsu Ltd 計算機、ダンププログラムおよびダンプ方法
JP2009301378A (ja) * 2008-06-16 2009-12-24 Mitsubishi Electric Corp 監視制御システム

Also Published As

Publication number Publication date
US20150100825A1 (en) 2015-04-09
JP5948416B2 (ja) 2016-07-06
WO2014006694A1 (ja) 2014-01-09

Similar Documents

Publication Publication Date Title
JP7087029B2 (ja) 中央処理装置(cpu)と補助プロセッサとの間の改善した関数コールバック機構
US7774636B2 (en) Method and system for kernel panic recovery
KR101636870B1 (ko) 최소 부트 이미지의 생성 방법 및 장치
US9575827B2 (en) Memory management program, memory management method, and memory management device
JP2011154547A (ja) メモリ管理装置及びメモリ管理方法
US20190340058A1 (en) Crash log storage and retrieval using boot partitions in solid state systems
TW201301029A (zh) 具有增強型應用程式元資料之記憶體管理器
CN110781016B (zh) 一种数据处理方法、装置、设备及介质
KR20160134750A (ko) 공유가능한 메모리 페이지의 비동기 프리페칭
US10969970B2 (en) Storage optimization of database in volatile and non-volatile storing unit
JP2013225208A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2007334403A (ja) 計算機システム障害対応方式及び計算機システム障害対応方法
JP5948416B2 (ja) 情報処理装置、情報保存処理プログラム及び情報保存処理方法
CN113127263B (zh) 一种内核崩溃恢复方法、装置、设备及存储介质
US20150046754A1 (en) Computer and dumping control method
US9372700B2 (en) Network boot system
CN111868698A (zh) 空闲空间直通
JP5348120B2 (ja) パニックダンプ採取のためのプログラム、方法、機構
US8918582B2 (en) Simulating EEPROM in virtual distributed switches
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
US10521155B2 (en) Application management data
US20220229932A1 (en) Method for performing multi-system log access management, associated system on chip integrated circuit and non-transitory computer-readable medium
JP2009223713A (ja) メモリ内容復元装置、メモリ内容復元方法及びメモリ内容復元プログラム
JP2009223841A (ja) 命令ログ取得プログラム及び仮想計算機システム
JP2019215602A (ja) メモリデータ採取プログラム、メモリデータ採取方法、および情報処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20160328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160606

R150 Certificate of patent or registration of utility model

Ref document number: 5948416

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees