(57)【特許請求の範囲】
【請求項１】
プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプする計算機であって、
前記記憶空間を所定の領域に区切った記憶領域に対応づけて、該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルと、
前記ページ管理テーブルに記憶される更新フラグと参照フラグとに基づいて、前記記憶領域毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定手段と、
前記優先度決定手段によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮手段と、
前記圧縮手段によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力手段と
を備えたことを特徴とする計算機。
【請求項２】
前記優先度決定手段は、前記ページ管理テーブルに基づいて、更新かつ参照された記憶領域の優先度を最も高くして、少なくとも更新または参照のいずれかがなされた記憶領域の優先度を二番目に高くすることを特徴とする請求項１に記載の計算機。
【請求項３】
前記優先度決定手段は、レジスタに記憶されているアドレスが示す記憶領域の優先度を高くすることを特徴とする請求項１または２に記載の計算機。
【請求項４】
前記優先度決定手段は、レジスタに記憶されていたアドレスの履歴を記憶するトレース情報に記憶されているアドレスが示す記憶領域の中で、最後に記憶されたアドレスが示す記憶領域ほど優先度を高くすることを特徴とする請求項１〜３のいずれか一つに記載の計算機。
【請求項５】
前記記憶領域に対応付けて、優先度を記憶する優先度記憶手段をさらに備え、
前記優先度決定手段は、前記優先度記憶手段に記憶されている優先度をさらに用いて、前記記憶領域の優先度を決定することを特徴とする請求項１に記載の計算機。
【請求項６】
プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプするダンププログラムであって、
前記記憶空間を所定の領域に区切った記憶領域に対応づけて、該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルを参照し、前記ページ管理テーブルに記憶される更新フラグと参照フラグとに基づいて、前記記憶領域毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定手順と、
前記優先度決定手順によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮手順と、
前記圧縮手順によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力手順と
をコンピュータに実行させることを特徴とするダンププログラム。
【請求項７】
プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプするダンプ方法であって、
前記記憶空間を所定の領域に区切った記憶領域に対応づけて、該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルを参照し、前記ページ管理テーブルに記憶される更新フラグと参照フラグとに基づいて、前記記憶領域毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定工程と、
前記優先度決定工程によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮工程と、
前記圧縮工程によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力工程と
を含んだことを特徴とするダンプ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムが異常終了した場合に、プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプする計算機、ダンププログラムおよびダンプ方法に関し、特に、ダンプファイルのサイズを小さくしつつ、障害解析に必要な情報をダンプファイルに出力することができる計算機、ダンププログラムおよびダンプ方法に関する。
【背景技術】
【０００２】
従来、電子計算機に搭載されているＯＳ（Operating  System）は、何らかの処理が異常終了すると、そのときのメモリイメージを磁気ディスク上に出力してダンプファイルを生成する。そして、システム管理者等は、所定の解析ツールを用いて、生成されたダンプファイルを解析することで障害の原因を究明する。
【０００３】
ＯＳは、いつ処理が異常終了してもダンプファイルを生成できるように、磁気ディスク上にダンプファイルを生成するための所定の容量を確保しておく。この所定の容量とは、電子計算機に搭載されているメモリ容量に依存しており、メモリ容量が大きいほど大きくなる。
【０００４】
近年では、メモリ容量が増大しており、それに伴って、ダンプファイルのサイズも増大している。このことは、ユーザが利用できる磁気ディスク容量を減らしてしまうため、ダンプファイルのサイズを小さくすることが望まれている。ただし、単純にダンプファイルを小さくすると、障害解析時に必要な情報をダンプファイルに出力できなくなるので、障害解析時に必要な情報をダンプファイルに出力できる程度に、ダンプファイルのサイズを小さくすることが望まれている。
【０００５】
そこで、特許文献１には、所定のサイズに分割したメモリ領域に優先順位を設けて、優先順位の高いメモリ領域の順にダンプファイルに出力する技術が開示されている。また、特許文献２には、処理が異常終了する前から、常に様々な情報（処理の実行順序など）を所定の記憶部に収集しておき、処理が異常終了した場合に、収集しておいた情報に基づいて、必要な情報をダンプファイルに出力する技術が開示されている。これらの技術を用いれば、ダンプファイルのサイズを小さくしても、必要な情報をダンプファイルに出力し損ねる可能性が低くなる。
【０００６】
【特許文献１】特開平２−０４７７３５号公報
【特許文献２】特開平９−３２５９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に開示されている技術は、障害解析に必要となるメモリ情報量が多いと、ダンプファイルにすべての情報を出力できないおそれがあるという問題があった。すなわち、優先度の低いメモリ領域であっても障害解析に必要な情報となる場合もあり、上記特許文献１に開示されている技術のように、単にメモリ領域に優先順位を設けるだけでは、障害解析時に必要な情報をダンプファイルに出力しつつ、ダンプファイルのサイズを小さくするということは実現できなかった。
【０００８】
また、上記特許文献２に開示されている技術は、正常動作時に様々な情報を常に磁気ディスク上に保持しておく必要があるため、ダンプファイルのサイズを小さくすることができても、磁気ディスクの使用容量は小さくならないという問題があった。
【０００９】
本発明は、上述した従来技術による問題点を解消するためになされたものであり、ダンプファイルのサイズを小さくしつつ、障害解析に必要な情報をダンプファイルに出力することができる計算機、ダンププログラムおよびダンプ方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本願に開示する計算機は、プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間（実施例１〜３における「メモリ１１０」に相当する）に記憶されている情報をファイルにダンプする計算機であって、前記記憶空間を所定の領域に区切った記憶領域（実施例１〜３における「メモリ領域」に相当する）毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定手段と、前記優先度決定手段によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮手段と、前記圧縮手段によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力手段とを備えたことを要件とする。
【００１１】
また、上記態様において、本願に開示する計算機は、前記記憶領域に対応づけて、該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルをさらに備え、前記優先度決定手段は、前記ページ管理テーブルに基づいて、更新かつ参照された記憶領域の優先度を最も高くして、少なくとも更新または参照のいずれかがなされた記憶領域の優先度を二番目に高くすることを要件とする。
【００１２】
また、上記態様において、本願に開示する計算機は、前記優先度決定手段は、レジスタに記憶されているアドレスが示す記憶領域の優先度を高くすることを要件とする。
【００１３】
また、上記態様において、本願に開示する計算機は、前記優先度決定手段は、レジスタに記憶されていたアドレスの履歴を記憶するトレース情報に記憶されているアドレスが示す記憶領域の中で、最後に記憶されたアドレスが示す記憶領域ほど優先度を高くすることを要件とする。
【００１４】
なお、本願に開示する計算機の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも、他の態様として有効である。
【発明の効果】
【００１５】
本願に開示した計算機によれば、ダンプファイルのサイズを小さくしつつ、障害解析に必要な情報をダンプファイルに出力することができるという効果を奏する。
【発明を実施するための最良の形態】
【００１６】
以下に添付図面を参照して、本発明に係る計算機、ダンププログラムおよびダンプ方法の好適な実施の形態を詳細に説明する。なお、以下の実施例により本発明が限定されるものではない。
【実施例１】
【００１７】
まず、実施例１に係る計算機１００によるダンプ処理の概要について説明する。図１は、実施例１に係る計算機１００によるダンプ処理の概要を説明するための図である。なお、以下の説明では、計算機１００が、ページング方式によりメモリ空間を管理する例を示す。
【００１８】
計算機１００は、計算機１００上で動作するプログラムが異常終了した場合に、メモリ１１０に記憶されている情報をダンプファイル１２３に出力するダンプ処理を行う。実施例１に係る計算機１００は、ダンプ処理を行う際、優先度決定基情報群１０が有する各種情報に基づいて、メモリ領域毎に、ダンプファイル１２３にメモリ１１０内の情報を出力する順番である「優先度」を決定する。そして、計算機１００は、優先度の高い順番に、メモリ領域に記憶されている情報を圧縮して、ダンプファイル１２３に出力する。
【００１９】
なお、ここでいう「メモリ領域」とは、メモリ１１０の記憶領域を所定のサイズ毎に分割した領域である。以下の説明では、メモリ１１０が、ページング方式における１ページ分に相当するサイズ毎（例えば、４ＫＢ）に分割された場合を示し、１ページが１つのメモリ領域であるとする。なお、メモリ１１０を区切る単位はこれに限られず、複数のページに相当するサイズ毎に区切ってもよいし、所定のサイズ毎に区切ってもよい。
【００２０】
上述した計算機１００によるダンプ処理について、具体的に説明する。まず、優先度決定処理を行う際に用いる優先度決定基情報群１０について説明する。同図に示すように、優先度決定基情報群１０には、レジスタ１４０と、トレース情報１１２と、ページ管理テーブル１５０とが含まれる。
【００２１】
レジスタ１４０は、メモリ１１０上の記憶位置を示すアドレスを一時記憶するレジスタである。なお、レジスタにはいくつかの種類があり、各処理の演算結果や、演算に用いるデータ等を一時記憶するレジスタもあるが、レジスタ１４０は、メモリ１１０のアドレスを一時記憶するアドレスレジスタである。
【００２２】
計算機１００は、レジスタ１４０に記憶されているアドレスが示すメモリ領域の優先度を高くする。レジスタ１４０には処理中の情報が記憶されるため、レジスタ１４０に記憶されているアドレスが示すメモリ領域は、障害解析を行う上で重要になる可能性が高い。したがって、レジスタ１４０に記憶されているアドレスが示すメモリ領域内の情報を優先的にダンプファイル１２３に出力することで、利用者は重要な情報を用いて障害解析を行うことができる。
【００２３】
トレース情報１１２は、各種プログラムが行った処理の履歴を記憶する。具体的には、トレース情報１１２は、計算機１００で管理されているプログラム番号、レジスタ１４０に記憶されていた情報（アドレス）、処理日時等を含むレコードを時系列に記憶する。
【００２４】
計算機１００は、トレース情報１１２に記憶されている各種情報に基づいて、レジスタ１４０に記憶されていたアドレスが示すメモリ領域の優先度を高くする。最近までレジスタ１４０に記憶されていた情報は、最近まで処理中だったことを意味するので、障害解析を行う上で重要になる可能性が高い。したがって、最近までレジスタ１４０に記憶されていたアドレスが示すメモリ領域内の情報を優先的にダンプファイル１２３に出力することで、利用者は重要な情報を用いて障害解析を行うことができる。
【００２５】
ページ管理テーブル１５０は、メモリ空間をページング方式により管理する場合に、一般に用いられるテーブルであり、ページ番号に対応付けて、メモリ１１０上の物理的な記憶位置を示す物理アドレスや、ページ番号に対応するメモリ領域（ページ）に記憶されている情報が更新または参照されたか否かを示すフラグ等を記憶する。
【００２６】
計算機１００は、ページ管理テーブル１５０に記憶されている各種情報に基づいて、更新または参照された情報を記憶するメモリ領域の優先度を高くする。更新または参照された情報は、最近アクセスされたことを示すので、障害解析を行う上で重要になる可能性が高い。したがって、更新または参照された情報を優先的にダンプファイル１２３に出力することで、利用者は重要な情報を用いて障害解析を行うことができる。
【００２７】
そして、計算機１００は、各メモリ領域について優先度を決定した後、優先度の高い順番に、メモリ領域に記憶されている情報を圧縮して、圧縮した情報をダンプファイル１２３に出力する。
【００２８】
図１に示した例では、計算機１００は、ページ番号「０」のメモリ領域を、優先度「１」にしている。そして、計算機１００は、ページ番号「１」のメモリ領域の優先度を「３」にしており、ページ番号「２」のメモリ領域の優先度を「４」にしており、ページ番号「３」のメモリ領域の優先度を「５」にしており、ページ番号「４」のメモリ領域の優先度を「２」にしている。なお、本明細書では、数字が小さいほど優先度が高いものとする。
【００２９】
そして、計算機１００は、最初に、メモリ１１０の中で最も優先度の高いページ番号「０」のメモリ領域に記憶されている情報を圧縮してダンプファイル１２３に出力している。そして、次に優先度の高いページ番号「４」のメモリ領域に記憶されている情報を圧縮してダンプファイル１２３に出力している。同様にして、計算機１００は、ページ番号「１」、ページ番号「２」の順にメモリ領域内の情報を圧縮してダンプファイル１２３に出力している。なお、計算機１００は、ページ番号「３」のメモリ領域に記憶されている情報をダンプファイル１２３に出力していない。これは、ダンプファイル１２３の空き領域がなくなったためである。
【００３０】
このように、実施例１に係る計算機１００は、各種プログラムが異常終了した場合に、かかるプログラムが使用していたメモリ領域上の情報を無条件でダンプファイル１２３に出力するのではなく、優先度決定基情報群１０に含まれる各種情報に基づいて、メモリ領域毎に優先度を決定し、決定した優先度の順番にメモリ領域に記憶されている情報を圧縮して、空き領域がなくなるまでダンプファイル１２３に出力する。したがって、実施例１に係る計算機１００では、ダンプファイル１２３のサイズを小さくしつつ、障害解析に必要な情報をダンプファイル１２３に出力することができる。
【００３１】
次に、実施例１に係る計算機１００の構成について説明する。図２は、実施例１に係る計算機１００の構成を示す機能ブロック図である。同図に示すように、計算機１００は、パーソナルコンピュータ等の装置であり、メモリ１１０と、記憶部１２０と、ＣＰＵ（Central  Processing  Unit）１３０とを有する。なお、図２では、計算機１００によるダンプ処理と密接に関係のない機能部については図示を省略している。
【００３２】
メモリ１１０は、ＲＡＭ（Random  Access  Memory）等のメモリであり、各種情報を記憶する。計算機１００ではページング方式によりメモリ空間を管理しているため、図示しないメモリ管理部は、メモリ１１０に空き領域がない状態で新たなページを割り当てる必要がある場合、所定のページを後述するスワップ領域１２１にページアウトする。また、図示しないメモリ管理部は、ページアウトしたページを取得する必要がある場合、スワップ領域１２１からメモリ１１０の空き領域にページインする。
【００３３】
また、メモリ１１０は、プログラム１１１と、トレース情報１１２とを記憶する。プログラム１１１は、所定の処理を実現するためのプログラムであり、後述する演算部１６０によって実行される。トレース情報１１２は、プログラム１１１が行った処理の履歴を記憶し、プログラム１１１の番号と、レジスタ１４０に記憶されていた情報と、処理日時等を含むレコードを時系列に記憶する。なお、図２は、１つのプログラム１１１のみが実行されている例を示しているが、複数の異なるプログラムが実行されてもよい。
【００３４】
記憶部１２０は、磁気ディスク等の記憶媒体であり、スワップ領域１２１と、ダンプ領域１２２とを含む。スワップ領域１２１は、メモリ１１０によってページアウトされたページを記憶する。ダンプ領域１２２は、後述するダンプ制御部１７０によって生成されるダンプファイル１２３を記憶する。ダンプファイル１２３は、プログラム１１１が異常終了した場合に、メモリ１１０に記憶されている情報を記憶するファイルである。このダンプファイル１２３のサイズは、予めシステムに設定される情報に基づいて決定される。
【００３５】
ＣＰＵ１３０は、計算機１００を全体制御する演算装置であり、レジスタ１４０と、ページ管理テーブル１５０と、演算部１６０と、ダンプ制御部１７０とを有する。レジスタ１４０は、メモリ１１０上の記憶位置を示すアドレスを一時記憶するアドレスレジスタである。
【００３６】
ページ管理テーブル１５０は、ページング方式によりメモリ空間を管理する際に用いられるテーブルである。ページ管理テーブル１５０の一例を図３に示す。同図に示すように、ページ管理テーブル１５０は、ページ番号に対応付けて、物理アドレス、更新フラグ、参照フラグ、ページングフラグを記憶する。
【００３７】
ページ番号は、メモリ１１０を所定のサイズ毎に分割した単位であるページを識別するための番号を表す。物理アドレスは、ページ番号が示すページが記憶されているメモリ１１０上の物理的な記憶位置を表す。
【００３８】
更新フラグは、ページ番号が示すページが更新されたか否かを示すフラグである。同図では、更新フラグが「１」の場合、対応するページ番号が示すページが更新されたことを示し、更新フラグが「０」の場合、対応するページ番号が示すページが更新されていないことを示すこととする。
【００３９】
参照フラグは、ページ番号が示すページが参照されたか否かを示すフラグである。同図では、参照フラグが「１」の場合、対応するページ番号が示すページが参照されたことを示し、参照フラグが「０」の場合、対応するページ番号が示すページが参照されていないことを示すこととする。
【００４０】
ページングフラグは、ページ番号が示すページがメモリ１１０に記憶されているか否かを示すフラグである。言い換えれば、ページングフラグは、ページ番号が示すページがページアウトされているか否かを示すフラグである。同図では、ページングフラグが「１」の場合、対応するページ番号が示すページがメモリ１１０に記憶されていることを示し、ページングフラグが「０」の場合、対応するページ番号が示すページがページアウトされて、スワップ領域１２１に記憶されていることを示すこととする。
【００４１】
図３に示したページ管理テーブル１５０の１行目は、ページ番号「０」のメモリ領域が、物理アドレス「１０１」に記憶されており、更新されていないが（更新フラグ「０」）、参照されており（参照フラグ「１」）、メモリ１１０に記憶されている（ページングフラグ「１」）ことを示す。
【００４２】
また、図３に示したページ管理テーブル１５０の４行目は、ページ番号「３」のメモリ領域が、物理アドレス「１０２」に記憶されており、更新も参照もされておらず（更新フラグ「０」、参照フラグ「０」）、メモリ１１０に記憶されていない（ページングフラグ「０」）ことを示す。
【００４３】
演算部１６０は、各種処理を行う処理部であり、図２に示した例では、プログラム１１１を実行する。そして、演算部１６０は、プログラム１１１を実行して異常終了した場合に、異常終了したことを示す信号をダンプ制御部１７０へ出力する。
【００４４】
ダンプ制御部１７０は、演算部１６０が実行するプログラム１１１が異常終了した場合に、メモリ１１０に記憶されている情報をダンプファイル１２３に出力する処理部であり、初期化部１７１と、優先度決定部１７２と、圧縮部１７３と、ファイル出力部１７４とを有する。
【００４５】
初期化部１７１は、ダンプファイル１２３の管理領域を初期化する処理部である。具体的には、初期化部１７１は、演算部１６０からプログラム１１１が異常終了したことを示す信号を受け付けた場合に、メモリ１１０のサイズからダンプファイル１２３の管理領域のサイズを算出して、ダンプファイル１２３内に算出したサイズの管理領域を確保（初期化）する。
【００４６】
ここでいうダンプファイル１２３の管理領域とは、ダンプファイル１２３を解析する際に必要となる情報を記憶する領域であり、ダンプファイル１２３に出力した情報のページ番号、サイズ、オフセットから構成される。
【００４７】
優先度決定部１７２は、各メモリ領域の優先度を決定する処理部である。具体的には、優先度決定部１７２は、まず、レジスタ１４０に記憶されているアドレスを取得して、取得したアドレスが示すメモリ領域の優先度を最も高くする。
【００４８】
続いて、優先度決定部１７２は、トレース情報１１２に記憶されている「レジスタ１４０に記憶されていたアドレス」が示すメモリ領域の優先度を２番目に高くする。このとき、優先度決定部１７２は、トレース情報１１２に記憶されているすべてのレコードから「レジスタ１４０に記憶されていたアドレス」を取得するのではなく、トレース情報１１２に最後に記憶された所定の数のレコードからのみ「レジスタ１４０に記憶されていたアドレス」を取得する。これは、トレース情報１１２には、古いレコードも記憶されており、古い情報は障害解析を行う上で重要な情報とならない可能性があるからである。なお、優先度決定部１７２は、すでに優先度を設定したメモリ領域については、再度、優先度を設定しない。
【００４９】
なお、優先度決定部１７２は、トレース情報１１２に最後に記憶されたレコード内の「レジスタ１４０に記憶されていたアドレス」が示すメモリ領域ほど優先度を高くしてもよい。例えば、優先度決定部１７２は、トレース情報１１２に最後に記憶されたレコード内の「レジスタ１４０に記憶されていたアドレス」が示すメモリ領域の優先度を２番目に高くし、トレース情報１１２に最後から２番目に記憶されたレコード内の「レジスタ１４０に記憶されていたアドレス」が示すメモリ領域の優先度を３番目に高くしてもよい。
【００５０】
続いて、優先度決定部１７２は、ページ管理テーブル１５０を読み込み、各メモリ領域に記憶されている情報が更新または参照されたか否かを判断する。そして、優先度決定部１７２は、更新かつ参照されている情報を格納するメモリ領域の優先度を３番目に高くし、更新または参照のいずれかがなされている情報を格納するメモリ領域の優先度を４番目に高くする。なお、優先度決定部１７２は、すでに優先度を設定したメモリ領域については、再度、優先度を設定しない。このように、更新または参照されていない情報を、ダンプファイル１２３への出力対象外とすることで、ダンプファイル１２３に出力する情報量を削減することができる。
【００５１】
例えば、ページ管理テーブル１５０が図３に示した状態である場合、優先度決定部１７２は、更新フラグ「１」、かつ、参照フラグ「１」であるページ番号「１」のメモリ領域の優先度を３番目に高くする。そして、優先度決定部１７２は、更新フラグ「０」、かつ、参照フラグ「１」であるページ番号「０」のメモリ領域と、更新フラグ「１」、かつ、参照フラグ「０」であるページ番号「２」のメモリ領域の優先度を４番目に高くする。
【００５２】
なお、上述した例では、優先度決定部１７２は、まず、レジスタ１４０に記憶されている情報により決定されるメモリ領域の優先度を最も高くして、続いて、トレース情報１１２に記憶されている情報により決定されるメモリ領域の優先度を２番目に高くして、続いて、ページ管理テーブル１５０に記憶されている情報により決定されるメモリ領域の優先度を３番目、４番目に高くしたが、この順番に優先度を決定しなくてもよい。例えば、優先度決定部１７２は、まず、ページ管理テーブル１５０に記憶されている情報により決定される優先度を１番目、２番目に高くして、続いて、レジスタ１４０に記憶されている情報により決定されるメモリ領域の優先度を３番目に高くして、続いて、トレース情報１１２に記憶されている情報により決定されるメモリ領域の優先度を４番目に高くしてもよい。
【００５３】
圧縮部１７３は、優先度決定部１７２によって決定された優先度の高い順番に、メモリ領域に記憶されている情報を圧縮する処理部である。具体的には、圧縮部１７３は、まず、最も優先度の高いメモリ領域に記憶されている情報を圧縮し、その後、圧縮処理が終了したことを示す信号をファイル出力部１７４へ出力する。続いて、圧縮部１７３は、２番目に優先度の高いメモリ領域に記憶されている情報を圧縮し、圧縮処理が終了したことを示す信号をファイル出力部１７４へ出力する。圧縮部１７３は、後述するファイル出力部１７４から、ダンプファイル１２３に空き領域がなくなったことを示す信号を受け付けるまで、優先度の高い順番にメモリ領域に記憶されている情報を圧縮する処理を繰り返す。
【００５４】
また、圧縮部１７３は、圧縮対象の情報がスワップ領域１２１にページアウトされている場合、スワップ領域１２１から対象のページをメモリ１１０にページインした後に、ページインした情報を圧縮する。圧縮部１７３は、ページ管理テーブル１５０のページングフラグに基づいて、圧縮対象の情報がスワップ領域１２１にページアウトされているか否かを判断する。
【００５５】
ファイル出力部１７４は、圧縮部１７３によって圧縮された順番に、圧縮された情報をダンプファイル１２３に出力する処理部である。具体的には、ファイル出力部１７４は、圧縮部１７３から圧縮処理が終了したことを示す信号を受け付けた場合に、圧縮された情報のサイズを測定する。そして、ファイル出力部１７４は、圧縮された情報をダンプファイル１２３に出力するとともに、出力した情報のページ番号、サイズ、オフセットをダンプファイル１２３内の管理領域に記憶させる。そして、ファイル出力部１７４は、ダンプファイル１２３に、さらに情報を出力するための空き領域があるかを確認し、空き領域がない場合は、ダンプファイル１２３に空き領域がないことを示す信号を圧縮部１７３へ出力する。
【００５６】
なお、ダンプファイル１２３内の管理領域に、ページ番号、サイズ、オフセットを記憶させるのは、圧縮後の情報は一定のサイズではないからである。すなわち、解析ツールがダンプファイル１２３を解析する場合に、管理領域に記憶されている各種情報に基づいて、圧縮された情報を展開できるようにするためである。
【００５７】
次に、実施例１に係る計算機１００によるダンプ処理について説明する。図４は、実施例１に係る計算機１００によるダンプ処理手順を示すフローチャートである。同図に示すように、計算機１００の初期化部１７１は、演算部１６０からプログラム１１１が異常終了したことを示す信号を受け付けた場合（ステップＳ１０１肯定）、メモリ１１０のサイズからダンプファイル１２３の管理領域のサイズを算出して、ダンプファイル１２３内に算出したサイズの管理領域を確保（初期化）する（ステップＳ１０２）。その後、優先度決定部１７２は、各メモリ領域の優先度を決定する優先度決定処理を行う（ステップＳ１０３）。なお、優先度決定部１７２による優先度決定処理は、後述する。
【００５８】
そして、圧縮部１７３は、優先度決定部１７２によって決定された優先度の最も高いメモリ領域のページ番号を取得する（ステップＳ１０４）。そして、圧縮部１７３は、取得したページ番号に対応するページ管理テーブル１５０のページングフラグに基づいて、取得したページ番号が示すページがスワップ領域１２１にページアウトされた情報であると判断した場合（ステップＳ１０５肯定）、かかるページをスワップ領域１２１からメモリ１１０にページインする（ステップＳ１０６）。そして、圧縮部１７３は、メモリ１１０にページインした情報を圧縮する（ステップＳ１０７）。
【００５９】
一方、取得したページ番号が示すページがスワップ領域１２１にページアウトされた情報でないと判断した場合（ステップＳ１０５否定）、圧縮部１７３は、かかるページ番号のメモリ領域に記憶されている情報を圧縮する（ステップＳ１０７）。そして、圧縮部１７３は、圧縮処理が終了したことを示す信号をファイル出力部１７４へ出力する。
【００６０】
圧縮部１７３から圧縮処理が終了したことを示す信号を受け付けたファイル出力部１７４は、圧縮された情報のサイズを計測した後、圧縮された情報をダンプファイル１２３に出力するとともに（ステップＳ１０８）、ダンプファイル１２３に出力した情報のページ番号、サイズ、オフセットをダンプファイル１２３内の管理領域に記憶させる（ステップＳ１０９）。
【００６１】
そして、ファイル出力部１７４は、メモリ１１０に記憶されているすべて情報をダンプファイル１２３に出力した場合（ステップＳ１１０肯定）、処理を終了する。また、ファイル出力部１７４は、メモリ１１０に記憶されているすべて情報をダンプファイル１２３に出力していない場合であっても（ステップＳ１１０否定）、ダンプファイル１２３に空き領域がなくなった場合（ステップＳ１１１否定）、ダンプファイル１２３に空き領域がないことを示す信号を圧縮部１７３へ出力して処理を終了する。
【００６２】
一方、メモリ１１０のすべて情報をダンプファイル１２３に出力しておらず（ステップＳ１１０否定）、かつ、ダンプファイル１２３に空き領域がある場合（ステップＳ１１１肯定）、圧縮部１７３は、優先度が２番目に高いメモリ領域のページ番号を取得する（ステップＳ１０４）。そして、圧縮部１７３およびファイル出力部１７４は、上述した圧縮処理およびファイル出力処理を行う（ステップＳ１０５〜Ｓ１０９）。圧縮部１７３およびファイル出力部１７４は、メモリ１１０に記憶されているすべて情報をダンプファイル１２３に出力するか（ステップＳ１１０肯定）、または、ダンプファイル１２３に空き領域がなくなるまで（ステップＳ１１１否定）、優先度の高いメモリ領域の順番に、圧縮処理およびファイル出力処理（ステップＳ１０４〜Ｓ１０９）を繰り返す。
【００６３】
次に、図２に示した優先度決定部１７２による優先度決定処理について説明する。図５は、図２に示した優先度決定部１７２による優先度決定処理手順を示すフローチャートである。同図に示すように、計算機１００の優先度決定部１７２は、レジスタ１４０に記憶されているアドレスを取得して（ステップＳ２０１）、取得したアドレスが示すメモリ領域の優先度を最も高くする（ステップＳ２０２）。
【００６４】
続いて、優先度決定部１７２は、トレース情報１１２から「レジスタ１４０に記憶されていたアドレス」を取得して（ステップＳ２０３）、取得したアドレスが示すメモリ領域の優先度を２番目に高くする（ステップＳ２０４）。
【００６５】
続いて、優先度決定部１７２は、ページ管理テーブル１５０を読み込み（ステップＳ２０５）、更新かつ参照されている情報を格納するメモリ領域の優先度を３番目に高くし（ステップＳ２０６）、更新または参照のいずれかがなされている情報を格納するメモリ領域の優先度を４番目に高くする（ステップＳ２０７）。
【００６６】
上述してきたように、実施例１に係る計算機１００は、レジスタ１４０と、トレース情報１１２と、ページ管理テーブル１５０とに記憶されている情報に基づいて、各メモリ領域の優先度を決定し、決定した優先度の順番にメモリ領域に記憶されている情報を圧縮して、ダンプファイル１２３に出力するように構成したので、ダンプファイル１２３のサイズを小さくしつつ、障害解析に必要な情報をダンプファイル１２３に出力することができる。
【００６７】
なお、上記実施例１では、圧縮部１７３がメモリ領域に記憶されている情報を必ず圧縮する例を示したが、圧縮部１７３は、優先度の高いメモリ領域に記憶されている情報は圧縮しないように構成してもよい。
【００６８】
かかる場合における計算機１００によるダンプ処理について説明する。図６は、優先度の高いメモリ領域に記憶されている情報を圧縮しない場合における計算機１００によるダンプ処理手順を示すフローチャートである。なお、ここでは、図４に示した処理手順と同様の処理手順については、その説明を省略する。
【００６９】
同図に示すように、計算機１００の初期化部１７１は、演算部１６０から異常終了したことを示す信号を受け付けた場合（ステップＳ３０１肯定）、メモリ１１０のサイズからダンプファイル１２３の管理領域のサイズを求めて、ダンプファイル１２３を初期化する（ステップＳ３０２）。このとき、初期化部１７１は、ページ番号、サイズ、オフセットに加えて、ダンプファイル１２３に出力する情報が圧縮されているか否かを示す圧縮フラグから構成されるように管理領域を初期化する。以下の説明では、圧縮フラグが「１」の場合、ダンプファイル１２３に出力された情報が圧縮されていることを示し、圧縮フラグが「０」の場合、ダンプファイル１２３に出力された情報が圧縮されていないことを示すこととする。
【００７０】
そして、圧縮部１７３は、図４を用いて説明したように、優先度決定部１７２によって決定された優先度の高い順に、メモリ領域のページ番号を取得する（ステップＳ３０４）。取得したページ番号が示すページがスワップ領域１２１にページアウトされた情報であると判断した場合（ステップＳ３０５肯定）、圧縮部１７３は、かかるページをページインする（ステップＳ３０６）。
【００７１】
そして、圧縮部１７３は、現在処理しているメモリ領域の優先度が所定の閾値よりも高い場合（ステップＳ３０７肯定）、メモリ１１０にページインした情報を圧縮せずに、圧縮処理が終了したことを示す信号をファイル出力部１７４へ出力する。かかる信号を受け付けたファイル出力部１７４は、圧縮されていない情報をダンプファイル１２３に出力する（ステップＳ３０９）。
【００７２】
そして、ファイル出力部１７４は、ダンプファイル１２３の管理領域に、ダンプファイル１２３に出力した情報のページ番号、サイズ、オフセット、および、圧縮フラグを記憶させる（ステップＳ３１０）。なお、ここでは、ファイル出力部１７４は、ダンプファイル１２３の管理領域に、圧縮フラグとして「０」を記憶させる。
【００７３】
一方、現在処理しているメモリ領域の優先度が所定の閾値よりも低い場合（ステップＳ３０７否定）、圧縮部１７３は、ページインした情報を圧縮して（ステップＳ３０８）、圧縮処理が終了したことを示す信号をファイル出力部１７４へ出力する。かかる信号を受け付けたファイル出力部１７４は、圧縮された情報をダンプファイル１２３に出力する（ステップＳ３０９）。
【００７４】
そして、ファイル出力部１７４は、ダンプファイル１２３の管理領域に、ダンプファイル１２３に出力した情報のページ番号、サイズ、オフセット、および、圧縮フラグを記憶させる（ステップＳ３１０）。なお、ここでは、ファイル出力部１７４は、ダンプファイル１２３の管理領域に、圧縮フラグとして「１」を記憶させる。
【００７５】
メモリ領域のページ番号が示すページがスワップ領域１２１にページアウトされた情報でない場合についても（ステップＳ３０５否定）、圧縮部１７３は、現在処理しているメモリ領域の優先度が所定の閾値よりも高い場合（ステップＳ３０７肯定）、メモリ領域に記憶されている情報を圧縮せずに、圧縮処理が終了したことを示す信号をファイル出力部１７４へ出力する。
【００７６】
図７に、優先度の高いメモリ領域に記憶されている情報を圧縮しない場合におけるダンプファイル１２３の一例を示す。同図に示した例では、優先度「２」までのメモリ領域に記憶されている情報は圧縮せずにダンプファイル１２３に出力する。具体的には、優先度が「１」であるページ番号「０」のメモリ領域に記憶されている情報を圧縮せずにダンプファイル１２３に出力している。そして、優先度が「２」であるページ番号「４」のメモリ領域に記憶されている情報についても圧縮せずにダンプファイル１２３に出力している。そして、優先度が「３」であるページ番号「１」のメモリ領域に記憶されている情報は圧縮してダンプファイル１２３に出力している。
【００７７】
このように、優先度の高いメモリ領域に記憶されている情報は圧縮しないように構成することで、ダンプファイル１２３の解析時に、圧縮された情報を解凍する時間を省くことができるので、利用者は障害解析を即座に行うことができる。
【００７８】
また、上述した圧縮するか否かを決める優先度の閾値を変更することで、ダンプファイル１２３に出力する情報をすべて圧縮しないようにすることもできる。その結果、障害解析を迅速に行うことが優先されるシステムにも計算機１００によるダンプ処理を適用することができる。なお、ダンプファイル１２３に出力する情報をすべて圧縮しないようにする場合、ダンプファイル１２３に出力される情報のサイズは等しくなる。このため、ダンプファイル１２３の管理領域には、ページ番号を記憶させるだけでよい。
【実施例２】
【００７９】
ところで、上記実施例１では、優先度決定部１７２は、レジスタ１４０、トレース情報１１２、ページ管理テーブル１５０に記憶されている情報に基づいて、各メモリ領域の優先度を決定する例を示したが、優先度決定部１７２は、異常終了時の事象に応じて、各メモリ領域の優先度を決定するようにしてもよい。そこで、実施例２では、異常終了時の事象に応じて、各メモリ領域の優先度を決定する例について説明する。
【００８０】
図８は、実施例２に係る計算機２００の構成を示す機能ブロック図である。なお、ここでは、図２に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
【００８１】
同図に示すように、記憶部２２０は、図２に示した記憶部１２０と比較して、優先度テーブル２２１を新たに有する。優先度テーブル２２１の一例を図９に示す。同図に示すように、優先度テーブル２２１は、異常コードに対応付けて、各メモリ領域の優先度を記憶する。
【００８２】
異常コードは、プログラム１１１の異常終了時の事象を識別するためのコードである。この異常コードは、プログラム１１１の異常終了時に演算部１６０からダンプ制御部１７０に通知される信号に含まれる。優先度は、ページ番号毎に、ダンプファイル１２３にダンプする順番を示す番号である。
【００８３】
図９に示した優先度テーブル２２１の１行目は、異常コードが「０００１」の場合、ページ番号「１」のメモリ領域の優先度が「１」であり、ページ番号「５」のメモリ領域の優先度が「２」であり、ページ番号「３」のメモリ領域の優先度が「３」であり、ページ番号「４」のメモリ領域の優先度が「４」であることを示す。なお、同図に示した優先度「×」は、対応するページ番号を、ダンプファイル１２３に出力する必要がないことを示す。具体的には、同図に示した例では、異常コードが「０００１」の場合、ページ番号「２」を、ダンプファイル１２３に出力する必要がないことを示す。
【００８４】
この優先度テーブル２２１は、計算機２００の提供後であっても更新可能であるため、計算機２００の提供後にメモリ領域の優先度を柔軟に変更することができる。
【００８５】
ダンプ制御部２７０は、図２に示したダンプ制御部１７０が有する初期化部１７１および優先度決定部１７２と比較して、初期化部２７１および優先度決定部２７２の処理が異なる。初期化部２７１は、ダンプファイル１２３を初期化するとともに、演算部１６０から受け付けた異常コードを、優先度決定部２７２へ出力する。
【００８６】
優先度決定部２７２は、優先度テーブル２２１に記憶されている情報に基づいて、各メモリ領域の優先度を決定する。具体的には、優先度決定部２７２は、初期化部２７１から異常コードを受け付けた場合に、かかる異常コードと一致するレコードを優先度テーブル２２１から取得する。そして、優先度決定部２７２は、取得したレコードに記憶されている情報に基づいて、メモリ領域の優先度を決定する。
【００８７】
図９に示した例では、優先度決定部２７２は、初期化部２７１から異常コード「０００３」を受け付けた場合、同図に示した優先度テーブル２２１から、異常コード「０００３」に対応するレコードを取得する。そして、優先度決定部２７２は、ページ番号「１」のメモリ領域の優先度を「１」にし、ページ番号「２」のメモリ領域の優先度を「２」にし、ページ番号「５」のメモリ領域の優先度を「３」にし、ページ番号「４」のメモリ領域の優先度を「４」にし、ページ番号「３」のメモリ領域の優先度を「５」にする。
【００８８】
次に、図８に示した優先度決定部２７２による優先度決定処理について説明する。図１０は、図８に示した優先度決定部２７２による優先度決定処理手順を示すフローチャートである。同図に示すように、計算機２００の優先度決定部２７２は、初期化部２７１から受け付けた異常コードと一致するレコードを優先度テーブル２２１から取得する（ステップＳ４０１）。そして、優先度決定部２７２は、取得したレコードに記憶されている情報に基づいて、メモリ領域の優先度を決定する（ステップＳ４０２）。
【００８９】
上述してきたように、実施例２に係る計算機２００は、優先度テーブル２２１に記憶されている情報に基づいて、各メモリ領域の優先度を決定するように構成したので、計算機２００の提供後にメモリ領域の優先度を柔軟に変更することができる。
【実施例３】
【００９０】
ところで、上記実施例１および２では、計算機１００または２００は、優先度の高い順番に、ダンプファイル１２３の空き領域がなくなるまでメモリ１１０の情報を出力する例を示したが、障害解析を行う上で必要となるすべての情報を確実にダンプファイル１２３に出力できるように圧縮率を変更するように構成してもよい。そこで、実施例３では、障害解析を行う上で必要となるすべての情報を確実にダンプファイル１２３に出力できるように圧縮率を変更する例について説明する。
【００９１】
図１１は、実施例３に係る計算機３００の構成を示す機能ブロック図である。なお、ここでは、図８に示した構成部位と同様の機能を有する部位には同一符号を付すこととして、その詳細な説明を省略する。
【００９２】
同図に示すように、ダンプ制御部３７０は、図８に示したダンプ制御部２７０と比較して、シミュレーション部３３１を新たに有する。シミュレーション部３３１は、優先度決定部２７２によって決定された優先度に基づいて、ダンプファイル１２３に必要な情報をすべて出力できるか否かをシミュレーションする処理部である。
【００９３】
具体的には、シミュレーション部３３１は、優先度決定部２７２によって決定された優先度の順番に、メモリ領域に記憶されている情報を低い圧縮率により圧縮する。そして、所望のメモリ領域内の情報をすべて圧縮した後、圧縮後のすべての情報の合計サイズと、ダンプファイル１２３のサイズ（管理領域のサイズを減算したサイズ）とを比較する。
【００９４】
そして、圧縮後のすべての情報の合計サイズが、ダンプファイル１２３のサイズより小さい場合、シミュレーション部３３１は、かかる圧縮率によりメモリ領域内の情報を圧縮すれば、所望の情報をダンプファイル１２３にすべて出力できることを示す情報を圧縮部１７３へ出力する。かかる情報を受け付けた圧縮部１７３は、受け付けた圧縮率によりメモリ領域内の情報を圧縮する。
【００９５】
一方、圧縮後のすべての情報の合計サイズが、ダンプファイル１２３のサイズより大きい場合、シミュレーション部３３１は、圧縮率を少し高くして、再度、メモリ領域内の情報を圧縮する。そして、シミュレーション部３３１は、圧縮後のすべての情報の合計サイズと、ダンプファイル１２３のサイズとを比較する。このようにして、シミュレーション部３３１は、圧縮率を徐々に高くしながら、所望の情報をダンプファイル１２３にすべて出力できる最低限の圧縮率を探査する。
【００９６】
上述してきたように、実施例３に係る計算機３００は、シミュレーション部３３１が、所望の情報をダンプファイル１２３にすべて出力できる最低限の圧縮率を探査するように構成したので、所望の情報をダンプファイル１２３にすべて出力することができる。また、情報を圧縮する圧縮率が可能な限り低くなるので、ダンプファイル１２３の解析時に、圧縮されている情報を解凍する時間が短くなり、その結果、利用者は障害解析を即座に行うことができる。これは、一般に、圧縮率が低いほど解凍時間が短くなるからである。
【００９７】
なお、上記実施例１〜３では、計算機１００、２００および３００について説明したが、図２、図８および図１１に示した計算機１００、２００および３００の構成は、本発明の要旨を逸脱しない範囲で種々に変更することができる。例えば、計算機１００のダンプ制御部１７０が有する機能をソフトウェアとして実装し、これをコンピュータで実行することにより、計算機１００と同等の機能を実現することもできる。以下に、ダンプ制御部１７０が有する機能をソフトウェアとして実装したダンププログラム１０７１を実行するコンピュータの一例を示す。
【００９８】
図１２は、ダンププログラム１０７１を実行するコンピュータ１０００を示す機能ブロック図である。このコンピュータ１０００は、各種演算処理を実行するＣＰＵ１０１０と、ユーザからのデータの入力を受け付ける入力装置１０２０と、各種情報を表示するモニタ１０３０と、記録媒体からプログラム等を読み取る媒体読取り装置１０４０と、ネットワークを介して他のコンピュータとの間でデータの授受を行うネットワークインターフェース装置１０５０と、各種情報を一時記憶するＲＡＭ１０６０と、ハードディスク装置１０７０とをバス１０８０で接続して構成される。
【００９９】
そして、ハードディスク装置１０７０には、図２に示したダンプ制御部１７０と同様の機能を有するダンププログラム１０７１と、ダンプファイル１２３とが記憶される。なお、図１２は、計算機１００のダンプ制御部１７０が有する機能をソフトウェアとして実装したダンププログラム１０７１の例について示しているが、計算機２００のダンプ制御部２７０が有する機能をソフトウェアとして実装したダンププログラムの場合、ハードディスク装置１０７０には、図８に示した優先度テーブルに対応するデータが記憶される。
【０１００】
そして、ＣＰＵ１０１０がダンププログラム１０７１をハードディスク装置１０７０から読み出してＲＡＭ１０６０に展開することにより、ダンププログラム１０７１は、ダンププロセス１０６１として機能するようになる。そして、ダンププロセス１０６１は、ＣＰＵ１０１０により実行された各種プログラムが異常終了した場合に、メモリの内容をハードディスク装置１０７０にダンプファイル１２３として記憶させる。
【０１０１】
なお、上記のダンププログラム１０７１は、必ずしもハードディスク装置１０７０に格納されている必要はなく、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたこのプログラムを、コンピュータ１０００が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）等を介してコンピュータ１０００に接続される他のコンピュータ（またはサーバ）等にこのプログラムを記憶させておき、コンピュータ１０００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１０２】
以上の実施例１〜３を含む実施形態に関し、更に以下の付記を開示する。
【０１０３】
（付記１）プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプする計算機であって、
前記記憶空間を所定の領域に区切った記憶領域毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定手段と、
前記優先度決定手段によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮手段と、
前記圧縮手段によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力手段と
を備えたことを特徴とする計算機。
【０１０４】
（付記２）前記記憶領域に対応づけて、該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルをさらに備え、
前記優先度決定手段は、前記ページ管理テーブルに基づいて、更新かつ参照された記憶領域の優先度を最も高くして、少なくとも更新または参照のいずれかがなされた記憶領域の優先度を二番目に高くすることを特徴とする付記１に記載の計算機。
【０１０５】
（付記３）前記優先度決定手段は、レジスタに記憶されているアドレスが示す記憶領域の優先度を高くすることを特徴とする付記１または２に記載の計算機。
【０１０６】
（付記４）前記優先度決定手段は、レジスタに記憶されていたアドレスの履歴を記憶するトレース情報に記憶されているアドレスが示す記憶領域の中で、最後に記憶されたアドレスが示す記憶領域ほど優先度を高くすることを特徴とする付記１〜３のいずれか一つに記載の計算機。
【０１０７】
（付記５）前記記憶領域に対応付けて、優先度を記憶する優先度記憶手段をさらに備え、
前記優先度決定手段は、前記優先度記憶手段に記憶されている優先度に従って、前記記憶領域の優先度を決定することを特徴とする付記１に記載の計算機。
【０１０８】
（付記６）前記圧縮手段は、前記優先度決定手段によって決定された優先度が所定の閾値よりも高い記憶領域に記憶されている情報は圧縮せずに、前記優先度決定手段によって決定された優先度が所定の閾値よりも低い記憶領域に記憶されている情報は圧縮することを特徴とする付記１〜５のいずれか一つに記載の計算機。
【０１０９】
（付記７）プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプするダンププログラムであって、
前記記憶空間を所定の領域に区切った記憶領域毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定手順と、
前記優先度決定手順によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮手順と、
前記圧縮手順によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力手順と
をコンピュータに実行させることを特徴とするダンププログラム。
【０１１０】
（付記８）前記優先度決定手順は、前記記憶領域に対応づけて該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルに基づいて、更新かつ参照された記憶領域の優先度を最も高くして、少なくとも更新または参照のいずれかがなされた記憶領域の優先度を二番目に高くすることを特徴とする付記７に記載のダンププログラム。
【０１１１】
（付記９）前記優先度決定手順は、レジスタに記憶されているアドレスが示す記憶領域の優先度を高くすることを特徴とする付記７または８に記載のダンププログラム。
【０１１２】
（付記１０）前記優先度決定手順は、レジスタに記憶されていたアドレスの履歴を記憶するトレース情報に記憶されているアドレスが示す記憶領域の中で、最後に記憶されたアドレスが示す記憶領域ほど優先度を高くすることを特徴とする付記７〜９のいずれか一つに記載のダンププログラム。
【０１１３】
（付記１１）前記優先度決定手順は、前記記憶領域に対応付けて優先度を記憶する優先度記憶手段に記憶されている優先度に従って、前記記憶領域の優先度を決定することを特徴とする付記７に記載のダンププログラム。
【０１１４】
（付記１２）前記圧縮手順は、前記優先度決定手順によって決定された優先度が所定の閾値よりも高い記憶領域に記憶されている情報は圧縮せずに、前記優先度決定手順によって決定された優先度が所定の閾値よりも低い記憶領域に記憶されている情報は圧縮することを特徴とする付記７〜１１のいずれか一つに記載のダンププログラム。
【０１１５】
（付記１３）プログラムが異常終了した場合に、前記プログラムによって使用されていた記憶空間に記憶されている情報をファイルにダンプするダンプ方法であって、
前記記憶空間を所定の領域に区切った記憶領域毎に、ファイルにダンプする順番を示す優先度を決定する優先度決定工程と、
前記優先度決定工程によって決定された優先度の高い順番に、前記記憶領域に記憶されている情報を圧縮する圧縮工程と、
前記圧縮工程によって圧縮された順番に、圧縮された情報を前記ファイルに出力するファイル出力工程と
を含んだことを特徴とするダンプ方法。
【０１１６】
（付記１４）前記優先度決定工程は、前記記憶領域に対応づけて該記憶領域に記憶されている情報が更新されたか否かを示す更新フラグと、該記憶領域に記憶されている情報が参照されたか否かを示す参照フラグとを記憶するページ管理テーブルに基づいて、更新かつ参照された記憶領域の優先度を最も高くして、少なくとも更新または参照のいずれかがなされた記憶領域の優先度を二番目に高くすることを特徴とする付記１３に記載のダンプ方法。
【０１１７】
（付記１５）前記優先度決定工程は、レジスタに記憶されているアドレスが示す記憶領域の優先度を高くすることを特徴とする付記１３または１４に記載のダンプ方法。
【０１１８】
（付記１６）前記優先度決定工程は、レジスタに記憶されていたアドレスの履歴を記憶するトレース情報に記憶されているアドレスが示す記憶領域の中で、最後に記憶されたアドレスが示す記憶領域ほど優先度を高くすることを特徴とする付記１３〜１５のいずれか一つに記載のダンプ方法。
【０１１９】
（付記１７）前記優先度決定工程は、前記記憶領域に対応付けて優先度を記憶する優先度記憶手段に記憶されている優先度に従って、前記記憶領域の優先度を決定することを特徴とする付記１３に記載のダンプ方法。
【０１２０】
（付記１８）前記圧縮工程は、前記優先度決定工程によって決定された優先度が所定の閾値よりも高い記憶領域に記憶されている情報は圧縮せずに、前記優先度決定工程によって決定された優先度が所定の閾値よりも低い記憶領域に記憶されている情報は圧縮することを特徴とする付記１３〜１７のいずれか一つに記載のダンプ方法。
【図面の簡単な説明】
【０１２１】
【図１】実施例１に係る計算機によるダンプ処理の概要を説明するための図である。
【図２】実施例１に係る計算機の構成を示す機能ブロック図である。
【図３】ページ管理テーブルの一例を示す図である。
【図４】実施例１に係る計算機によるダンプ処理手順を示すフローチャートである。
【図５】図２に示した優先度決定部による優先度決定処理手順を示すフローチャートである。
【図６】優先度の高いメモリ領域に記憶されている情報を圧縮しない場合における計算機によるダンプ処理手順を示すフローチャートである。
【図７】優先度の高いメモリ領域に記憶されている情報を圧縮しない場合におけるダンプファイルの一例を示す図である。
【図８】実施例２に係る計算機の構成を示す機能ブロック図である。
【図９】優先度テーブルの一例を示す図である。
【図１０】図８に示した優先度決定部による優先度決定処理手順を示すフローチャートである。
【図１１】実施例３に係る計算機の構成を示す機能ブロック図である。
【図１２】ダンププログラムを実行するコンピュータを示す機能ブロック図である。
【符号の説明】
【０１２２】
１０  優先度決定基情報群
１００  計算機
１１０  メモリ
１１１  プログラム
１１２  トレース情報
１２０  記憶部
１２１  スワップ領域
１２２  ダンプ領域
１２３  ダンプファイル
１３０  ＣＰＵ
１４０  レジスタ
１５０  ページ管理テーブル
１６０  演算部
１７０  ダンプ制御部
１７１  初期化部
１７２  優先度決定部
１７３  圧縮部
１７４  ファイル出力部
２００  計算機
２２０  記憶部
２２１  優先度テーブル
２７０  ダンプ制御部
２７１  初期化部
２７２  優先度決定部
３００  計算機
３３１  シミュレーション部
３７０  ダンプ制御部
１０００  コンピュータ
１０１０  ＣＰＵ
１０２０  入力装置
１０３０  モニタ
１０４０  媒体読取り装置
１０５０  ネットワークインターフェース装置
１０６０  ＲＡＭ
１０６１  ダンププロセス
１０７０  ハードディスク装置
１０７１  ダンププログラム
１０８０  バス
【図１】
0005211751.tif 000002
【図２】
0005211751.tif 000003
【図３】
0005211751.tif 000004
【図４】
0005211751.tif 000005
【図５】
0005211751.tif 000006
【図６】
0005211751.tif 000007
【図７】
0005211751.tif 000008
【図８】
0005211751.tif 000009
【図９】
0005211751.tif 000010
【図１０】
0005211751.tif 000011
【図１１】
0005211751.tif 000012
【図１２】
0005211751.tif 000013