(57)【要約】【課題】単一のオペレーティングシステムが動作する環境で非同期にメモリダンプを実行できるようにして、障害発生時のシステム運用停止時間を短縮する。【解決手段】主記憶装置２０，補助記憶装置３０，および中央処理装置１０を備えるコンピュータシステムにおいて、前記主記憶装置を通常の運用に供する通常使用領域２２と，通常の運用では不使用とするリザーブ領域２３とにあらかじめ設定する第一の手段１１と、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定する第二の手段１２と、前記第二の手段がメモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行う第三の手段１３と、前記第三の手段がメモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保する第四の手段１４とを有する。【選択図】      図１
2004280140.tif 000002
【特許請求の範囲】
【請求項１】
主記憶装置，補助記憶装置，および中央処理装置を備えるコンピュータシステムのメモリダンプ実行方式において、前記主記憶装置を通常の運用に供する通常使用領域と，通常の運用では不使用とするリザーブ領域とにあらかじめ設定する第一の手段と、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定する第二の手段と、前記第二の手段がメモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行う第三の手段と、前記第三の手段がメモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保する第四の手段とを有することを特徴とするメモリダンプ実行方式。
【請求項２】
請求項１記載のメモリダンプ実行方式において、前記第二の手段がメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開する第五の手段を具備することを特徴とするメモリダンプ実行方式。
【請求項３】
請求項１，または２記載のメモリダンプ実行方式において、前記主記憶装置は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域を具備することを特徴とするメモリダンプ実行方式。
【請求項４】
主記憶装置，補助記憶装置，および中央処理装置を備えるコンピュータシステムのメモリダンプ実行方法において、前記主記憶装置を通常の運用に供する通常使用領域と，通常の運用では不使用とするリザーブ領域とにあらかじめ設定し、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定し、その結果メモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行い、前記メモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保することを特徴とするメモリダンプ実行方法。
【請求項５】
請求項４記載のメモリダンプ実行方法において、前記障害に関わるメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開することを特徴とするメモリダンプ実行方法。
【請求項６】
請求項４，または５記載のメモリダンプ実行方法において、前記主記憶装置は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域を具備することを特徴とするメモリダンプ実行方法。
【請求項７】
主記憶装置，補助記憶装置，および中央処理装置を備えるコンピュータシステムにおいてメモリダンプを実行させるプログラムであって、前記主記憶装置を通常の運用に供する通常使用領域と，通常の運用では不使用とするリザーブ領域とにあらかじめ設定し、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定し、その結果メモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行い、前記メモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保することを特徴とするメモリダンプ実行プログラム。
【請求項８】
請求項７記載のメモリダンプ実行プログラムにおいて、前記障害に関わるメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開することを特徴とするメモリダンプ実行プログラム。
【請求項９】
請求項７，または８記載のメモリダンプ実行プログラムにおいて、前記主記憶装置は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域を具備することを特徴とするメモリダンプ実行プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリダンプ実行方式，方法，およびプログラムに関し、特にオペレーティングシステムの障害発生時に必要なメモリダンプなどの事後処置を能率よく行わせるメモリダンプ実行方式，方法，およびプログラムに関する。
【０００２】
【従来の技術】
オペレーティングシステムにて障害が発生した場合、障害発生時のメモリダンプを実行した後でオペレーティングシステムの再起動を実行すると、システムの停止時間が長くなってしまう。サーバタイプのマシン、それも実装メモリが大容量になってきている最近では、その傾向が顕著である。
【０００３】
従来、上記のような障害によるシステム停止時間を極力短縮するために、種々の対策が提案されている（たとえば、特許文献１参照。）。
【０００４】
この例では、障害によりシステムが停止した場合にその運用を継続するためのシステムを直ちに起動させ、運用と平行して障害を解明するために必要なデータ収集を可能にしている。
【０００５】
しかしながら、この例は、複数のオペレーティングシステムを共存し得るコンピュータシステム環境で実現可能な対策であり、単一のオペレーティングシステムによる環境に広く適用可能な対策ではない。
【０００６】
【特許文献１】
特開２００１−２９０６７８号公報（第３〜５頁，図１）
【０００７】
【発明が解決しようとする課題】
上記のように、システムが障害によって停止した場合、原則としてメモリダンプを実行してからオペレーティングシステムを再起動させている。障害による停止後に直ちに再起動させるためには、この障害情報を保存する必要があり、たとえば同一のコンピュータシステム上で第二のオペレーティングシステムを起動させなければならない。
【０００８】
すなわち、従来のメモリダンプ実行方式は、障害情報を保存しつつ運用を継続させるために、複数のオペレーティングシステムを容易に稼動し得るような大規模な環境が必要である。
【０００９】
本発明の目的は、上記のような問題点を改善するために、単一のオペレーティングシステムが動作する環境で非同期にメモリダンプを実行し得るようにして、障害発生時のシステム運用停止時間を極力短縮したメモリダンプ実行方式，方法，およびプログラムを提供することにある。
【００１０】
【課題を解決するための手段】
本発明のメモリダンプ実行方式は、主記憶装置，補助記憶装置，および中央処理装置を備えるコンピュータシステムのメモリダンプ実行方式において、前記主記憶装置を通常の運用に供する通常使用領域と，通常の運用では不使用とするリザーブ領域とにあらかじめ設定する第一の手段と、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定する第二の手段と、前記第二の手段がメモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行う第三の手段と、前記第三の手段がメモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保する第四の手段とを有することを特徴とする。
【００１１】
さらに、本発明のメモリダンプ実行方式において、前記第二の手段がメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開する第五の手段を具備することを特徴とする。
【００１２】
さらに、本発明のメモリダンプ実行方式において、前記主記憶装置は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域を具備することを特徴とする。
【００１３】
また、本発明のメモリダンプ実行方法は、主記憶装置，補助記憶装置，および中央処理装置を備えるコンピュータシステムのメモリダンプ実行方法において、前記主記憶装置を通常の運用に供する通常使用領域と，通常の運用では不使用とするリザーブ領域とにあらかじめ設定し、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定し、その結果メモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行い、前記メモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保することを特徴とする。
【００１４】
さらに、本発明のメモリダンプ実行方法において、前記障害に関わるメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開することを特徴とする。
【００１５】
さらに、本発明のメモリダンプ実行方法において、前記主記憶装置は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域を具備することを特徴とする。
【００１６】
また、本発明のメモリダンプ実行プログラムは、主記憶装置，補助記憶装置，および中央処理装置を備えるコンピュータシステムにおいてメモリダンプを実行させるプログラムであって、前記主記憶装置を通常の運用に供する通常使用領域と，通常の運用では不使用とするリザーブ領域とにあらかじめ設定し、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定し、その結果メモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行い、前記メモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保することを特徴とする。
【００１７】
さらに、本発明のメモリダンプ実行プログラムにおいて、前記障害に関わるメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開することを特徴とする。
【００１８】
さらに、本発明のメモリダンプ実行プログラムにおいて、前記主記憶装置は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域を具備することを特徴とする。
【００１９】
すなわち、本発明を適用するコンピュータシステムは、メモリのリザーブ量を指定する手段とメモリをリザーブする手段とを持ち、オペレーティングシステムの障害発生時には、リザーブしておいたメモリ領域を使用して再起動を実施し、再起動後に障害発生時のメモリダンプを実行し、メモリダンプ実行後に指定した量のメモリをリザーブして残りを使用することにより、障害発生時のオペレーティングシステムの再起動時間を短縮することができる。
【００２０】
従来、障害発生時には、メモリダンプを実行してからオペレーティングシステムの再起動を行うので、システムの停止時間が長くなってしまうのであり、メモリダンプを実行せずにオペレーティングシステムの再起動をすれば、システムの停止時間を最小限にとどめることが可能である。
【００２１】
これを実現するために、あらかじめオペレーティングシステム再起動用のメモリ領域を別に確保しておき、オペレーティングシステムに障害が発生した場合には、こちらのメモリ領域を使用してオペレーティングシステムを再起動し、再起動後に障害発生時のメモリダンプを実行する。
【００２２】
【発明の実施の形態】
以下、本発明について図面を参照しながら説明する。
【００２３】
図１は本発明の実施の一形態を示す説明図である。同図において、本発明によるメモリダンプ実行方式は、主記憶装置２０，補助記憶装置３０，および中央処理装置１０を備えるコンピュータシステムのメモリダンプ実行方式において、前記主記憶装置を通常の運用に供する通常使用領域２２と，通常の運用では不使用とするリザーブ領域２３とにあらかじめ設定する第一の手段１１と、前記コンピュータシステムで通常の運用中に障害が発生したときメモリダンプを実行するか否かを判定する第二の手段１２と、前記第二の手段がメモリダンプを実行すると判定したとき前記リザーブ領域を通常使用領域として運用に供するとともに前記障害の発生時の通常使用領域のメモリダンプを行う第三の手段１３と、前記第三の手段がメモリダンプを終了したときそのメモリ領域から新たにリザーブ領域を確保する第四の手段１４とを有する。
【００２４】
さらに、上記のメモリダンプ実行方式は、前記第二の手段がメモリダンプを実行しないと判定したときには前記障害の発生時の通常使用領域で運用を再開する第五の手段１５を具備する。
さらに、前記主記憶装置２０は、前記コンピュータシステムの運用中に障害が発生したときメモリダンプを実行するか否かを判定するための情報，および前記リザーブ領域のサイズを示す情報をあらかじめ保持しておくメモリダンプ設定領域２１を具備する。
【００２５】
すなわち、上記のコンピュータシステムは、１つの主記憶装置（メモリ）と、１つまたは複数の補助記憶装置を持つ。また、起動時にメモリダンプを実行するか否かを判断するための情報、および、リザーブするメモリのサイズを保持しておくメモリを持つ。ここでは、このメモリ領域を「メモリダンプ設定領域」と呼ぶ。
【００２６】
また、リザーブされたメモリ領域を「リザーブ領域」と呼ぶ。リザーブ領域は、通常運用には使用されない。リザーブ領域のサイズは調整可能とし、そのサイズはメモリダンプ設定領域によって指定される。
【００２７】
リザーブ領域のサイズは、全メモリ領域のちょうど半分とすることが望ましいが、現実的に半分以下でも構わない。ただし、リザーブ領域の絶対的な容量が小さい場合、オペレーティングシステムにおいて障害が発生し、オペレーティングシステムが再起動した後では、十分な性能が発揮できないことが考えられる。このため、該当システムにおいてトレードオフを考慮して適切な性能を発揮できるだけのメモリ領域をリザーブするべきである。
【００２８】
図２は本発明の動作を示す流れ図である。図２を参照しながら、オペレーティングシステムにおいて障害が発生した場合の再起動の処理の流れを詳細に説明する。
【００２９】
まず、オペレーティングシステムにおいて障害が発生した場合、メモリダンプ設定領域に、次回起動時にメモリダンプを実行する指示を書き込んでおく（ステップＡ１）。
【００３０】
メモリダンプ実行の指示を書き込んだら、メモリの容量を保持したままオペレーティングシステムの再起動を開始する（ステップＡ２）。
【００３１】
オペレーティングシステム起動時には、まずメモリダンプ設定領域にアクセスし、メモリダンプを実行すべきか否かを判定する（ステップＡ３）。ここで、「メモリダンプを実行すべきである」とのデータが書き込まれていた場合、通常使用領域ではなく、リザーブ領域を使用して、オペレーティングシステムの再起動を実行する（ステップＡ５）。
【００３２】
オペレーティングシステムの再起動が完了したら、障害発生時に使用していたメモリ領域（通常使用領域）を補助記憶装置にダンプする（ステップＡ６）。この時点では、既にオペレーティングシステムの起動が完了しているため、ダンプ実行と平行して通常のサービスの提供が可能である。
【００３３】
障害発生時に使用していたメモリ内容のダンプが完了したら、メモリダンプ設定領域にて設定されたサイズに従って、障害発生時に使用していたメモリ領域（通常使用領域）から新しいリザーブ領域を確保し、残りのメモリ領域を通常使用領域に動的に追加する（ステップＡ７）。これにより、オペレーティングシステムにおける障害発生から再起動までの一連の処理が完了する。
【００３４】
他方、障害発生以外でオペレーティングシステムが再起動される場合は、メモリダンプ設定領域にて、メモリダンプの実行は指示されない。したがって、メモリダンプ実行の判定（ステップＡ３）で、メモリダンプを実行する必要がないと判断し、通常使用領域を使用してオペレーティングシステムを起動する（ステップＡ４）。
【００３５】
【発明の効果】
以上、詳細に説明したように、本発明によれば、障害発生時にオペレーティングシステムを直ちに再起動させるために主メモリにリザーブ領域を設けているので、障害情報を保持したままシステム運用を再開することができる。すなわち、障害情報を取得するためのメモリダンプは、システム運用と平行して実行できる。したがって、本発明はオペレーティングシステムの障害発生時の再起動時間を短縮でき、システムの稼働率を飛躍的に高めることが可能になる。
【図面の簡単な説明】
【図１】本発明の実施の一形態を示す説明図。
【図２】本発明の動作を示す流れ図。
【符号の説明】
１０    中央処理装置
１１    第一の手段
１２    第二の手段
１３    第三の手段
１４    第四の手段
１５    第五の手段
２０    主記憶装置
２１    メモリダンプ設定領域
２２    通常使用領域
２３    リザーブ領域
３０    補助記憶装置
【図１】
2004280140.tif 000003
【図２】
2004280140.tif 000004