(57)【要約】      （修正有）【課題】メモリダンプ処理において記録の失敗を防ぐことのできる再起動プログラム、再起動方法、及び再起動装置を提供する。【解決手段】再起動方法は、（Ａ）常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化するメモリ使用量が常に保存済みメモリ量を下回る条件を満たすように、メモリ使用量の経時的変化を後にずらす時間の幅を算出し、（Ｂ）再起動に応じてメモリダンプ処理が開始された時点から時間幅に相当する時間が経過した後に、自動起動を開始する。【選択図】図８
2019082893.tif 000002
【特許請求の範囲】
【請求項１】
常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する前記メモリ使用量が常に前記保存済みメモリ量を下回る条件を満たすように、前記メモリ使用量の前記経時的変化を後にずらす時間の幅を算出し、
再起動に応じて前記メモリダンプ処理が開始された時点から前記幅に相当する時間が経過した後に、前記自動起動を開始する
処理をコンピュータに実行させる再起動プログラム。
【請求項２】
前記メモリ使用量が同時期の前記保存済みメモリ量を超える最大量を特定し、当該最大量をメモリダンプ処理における書き込み速度で除することによって、前記幅を算出する
請求項１記載の再起動プログラム。
【請求項３】
常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する前記メモリ使用量が常に前記保存済みメモリ量を下回る条件を満たすように、前記メモリ使用量の前記経時的変化を後にずらす時間の幅を算出し、
再起動に応じて前記メモリダンプ処理が開始された時点から前記幅に相当する時間が経過した後に、前記自動起動を開始する
処理を含み、コンピュータにより実行される再起動方法。
【請求項４】
常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する前記メモリ使用量が常に前記保存済みメモリ量を下回る条件を満たすように、前記メモリ使用量の前記経時的変化を後にずらす時間の幅を算出する算出部と、
再起動に応じて前記メモリダンプ処理が開始された時点から前記幅に相当する時間が経過した後に、前記自動起動を開始する自動起動部と
を有する再起動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリダンプ処理を伴う再起動の技術に関する。
【背景技術】
【０００２】
例えば、パーソナルコンピュータやサーバコンピュータなどの情報処理装置において異常が発生した場合に、メモリダンプ処理を行ってから再起動することが多い。メモリダンプ処理を行えば、異常が発生した時点におけるメインメモリの内容を解析して、異常の原因を究明することに役立つ。
【０００３】
但し、近年の情報処理装置はメインメモリのサイズが大きく、ストレージ装置への書き込みに時間を要する。従って、異常が発生した場合にメモリダンプ処理により再起動が遅れて、情報処理装置を使用できない期間が長くなる傾向にある。
【０００４】
これに対して、再起動中にメモリダンプ処理を行うようにすれば、異常を検出した後にすぐ再起動を開始することができる。但し、メインメモリの内容を未だ保存していないメモリ領域に、再起動に伴い常駐プログラムがロードされれば、正しい記録が行われないという問題がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２４２９９９号公報
【特許文献２】特開２００４−２８０１４０号公報
【特許文献３】特開平１０−３３３９４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、一側面では、再起動を伴うメモリダンプ処理において、記録の失敗を防ぐことである。
【課題を解決するための手段】
【０００７】
一態様に係る再起動方法は、（Ａ）常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化するメモリ使用量が常に保存済みメモリ量を下回る条件を満たすように、メモリ使用量の経時的変化を後にずらす時間の幅を算出し、（Ｂ）再起動に応じてメモリダンプ処理が開始された時点から上記幅に相当する時間が経過した後に、常駐プログラムの自動起動を開始する処理を含む。
【発明の効果】
【０００８】
一側面としては、再起動を伴うメモリダンプ処理において、記録の失敗を防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、従来技術における異常発生から再起動までの手順を示す図である。
【図２】図２は、常駐プログラムの自動起動処理と並行にメモリダンプ処理を行う場合の手順を示す図である。
【図３】図３は、保存済みメモリ量とメモリ使用量との経時的変化の例を示す図である。
【図４】図４は、メモリ使用量の経時的変化を後にずらした例を示す図である。
【図５】図５は、メモリ使用量の経時的変化を後にずらした例を示す図である。
【図６】図６は、情報処理装置のモジュール構成例を示す図である。
【図７】図７は、再起動の開始処理フローを示す図である。
【図８】図８は、ソフトリブートの手順を示す図である。
【図９】図９は、記録処理フローを示す図である。
【図１０】図１０は、メモリ使用量テーブルの例を示す図である。
【図１１】図１１は、常駐プログラムの自動起動処理フローを示す図である。
【図１２】図１２は、算出処理フローを示す図である。
【図１３】図１３は、メモリダンプ処理フローを示す図である。
【図１４】図１４は、メモリ量テーブルの例を示す図である。
【図１５】図１５は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
図１に、従来技術における異常発生から再起動までの手順を示す。情報処理装置のＯＳ（Operating System）が、所定の異常発生（例えば、ＯＳの動作停止）を検出すると（Ｓ１０１）、当該ＯＳは、メモリダンプ処理を開始する（Ｓ１０３）。
【００１１】
そして、メモリダンプ処理が完了するのを待って（Ｓ１０５）、情報処理装置のＯＳは、ソフトリブートの手順を開始する（Ｓ１０７）。ここで行うソフトリブートは、従来技術の手順によるものであって、図８を用いて後述する本実施の形態におけるソフトリブートの手順とは異なる。
【００１２】
情報処理装置のＯＳが、ＯＳの初期処理を終えると（Ｓ１０９）、当該ＯＳは、常駐プログラムの自動起動処理を開始する（Ｓ１１１）。そして、常駐プログラムの自動起動処理が完了すると（Ｓ１１３）、情報処理装置における通常の使用環境が整う。
【００１３】
この場合、メモリダンプ処理が完了するのを待って（Ｓ１０５）ソフトリブートの手順を開始するので、通常の使用環境が整うまでに時間がかかるという問題がある。
【００１４】
そこで、通常の使用環境が整うまでの時間を短くするために、メモリダンプ処理を行わないまま、ソフトリブートの手順を開始し、常駐プログラムの自動起動処理と並行してメモリダンプ処理を行う方法が考えられる。
【００１５】
常駐プログラムの自動起動処理と並行してメモリダンプ処理を行う場合の手順を、図２に示す。尚、処理の詳細については後述するので、ここでは簡単な説明に留める。
【００１６】
情報処理装置のＯＳが、所定の異常発生を検出すると（Ｓ２０１）、ソフトリブートの手順を開始する（Ｓ２０３）。
【００１７】
情報処理装置のＯＳが、ＯＳの初期処理を終えると（Ｓ２０５）、当該ＯＳは、メモリダンプ処理を開始する（Ｓ２０７）。メモリの全体を書き込むと、メモリダンプ処理が完了する（Ｓ２０９）。
【００１８】
一方、情報処理装置のＯＳは、メモリダンプ処理と並行して常駐プログラムの自動起動処理を開始する（Ｓ２１１）。そして、常駐プログラムの自動起動処理が完了すると（Ｓ２１３）、情報処理装置における通常の使用環境が整う。
【００１９】
但し、この例において未だデータを保存していないメモリ領域に常駐プログラムをロードすると、メモリダンプ処理において、エラー発生時のデータではなく常駐プログラムのデータを保存することになる。つまり、正しい記録が得られない。よって、常駐プログラムをメモリ領域にロードする前に該当する領域のデータを保存する必要がある。
【００２０】
図３に、保存済みメモリ量とメモリ使用量との経時的変化の例を示す。図３は、ソフトリブートを開始した時点を起点とする各経過時間における保存済みメモリ量メモリ使用量とを示している。経過時間は、分単位である。また、保存済みメモリ量、ＯＳの使用量、常駐プログラムの使用量及びメモリ使用量の単位は、ギガバイトである。
【００２１】
この例では、異常を検出した時点で、ＯＳをロードするための領域のデータがダンプ処理されることを前提としている。当該領域のサイズは、４ギガバイトであるものとする。従って、ソフトリブートを開始した時点における保存済みメモリ量は、４ギガバイトである。また、この時点では未だＯＳがロードされていないので、ＯＳのメモリ使用量は０ギガバイトである。更に、未だ常駐プログラムもロードされていないので、常駐プログラムのメモリ使用量は０ギガバイトである。従って、全体としてのメモリ使用量は、０ギガバイトである。
【００２２】
４分経過するまでの間に、ＯＳがロードされる。この間、常駐プログラムはロードされない。４分経過した時点で、ＯＳのロードが完了する。
【００２３】
ＯＳがロードされた後に開始されるメモリダンプ処理では、２ギガバイト単位でデータを書き込む。そして、１単位の書き込みに要する時間は、１分である。よって、保存済みメモリ量は、１分毎に２ギガバイトずつ増加する。
【００２４】
また、ＯＳがロードされた後に、常駐プログラムのロードが開始される。この例では、１分間に４ギガバイトのペースで、常駐プログラムのメモリ使用量が増加し、１２ギガバイトまで増加した時点で常駐プログラムのロードが完了する。全体としてのメモリ使用量は、各時点ともＯＳのメモリ使用量と常駐プログラムのメモリ使用量の合計である。
【００２５】
図示するように、５分経過した時点から９分経過した時点までの間、全体としてのメモリ使用量が保存済みメモリ量を超えている。これは、まだ保存されていないメモリ領域に常駐プログラムがロードされたことを意味する。従って、メモリダンプにおいて正しく記録が行われない。この例で、全体としてのメモリ使用量が保存済みメモリ量を超えるサイズは、７分経過した時点で最大（６ギガバイト）となっている。
【００２６】
この場合、６ギガバイトの書き込みを先行させるようにすれば、超過が発生しないことになる。この例で、６ギガバイトの書き込みに要する時間は、３分である。
【００２７】
図４に、常駐プログラムのロードを３分遅らせた場合の保存済みメモリ量とメモリ使用量との経時的変化を示す。保存済みメモリ量及びＯＳのメモリ使用量は、各経過時間とも図３の場合と同様である。常駐プログラムのメモリ使用量は、図３の場合に比べて３分後にずれている。全体としてのメモリ使用量は、図３の場合と同様に、ＯＳのメモリ使用量と常駐プログラムのメモリ使用量との合計である。
【００２８】
図示するように１０分経過した時点で、全体としてのメモリ使用量が保存済みメモリ量と同じになっているものの、いずれの時点においても全体としてのメモリ使用量が保存済みメモリ量を超えることはない。従って、メモリダンプ処理において正しく記録が行われている。
【００２９】
本実施の形態では、記録の信頼性を高めるために、待機時間に例えば１分加算する。
【００３０】
図５に、常駐プログラムのロードを４分遅らせた場合の遷移を示す。保存済みメモリ量及びＯＳのメモリ使用量は、各経過時間とも図３及び図４の場合と同様である。常駐プログラムのメモリ使用量は、図３の場合に比べて４分後にずれている。全体としてのメモリ使用量は、図３及び図４の場合と同様に、ＯＳのメモリ使用量と常駐プログラムのメモリ使用量との合計である。
【００３１】
このようにすれば、保存済みメモリ量と全体としてのメモリ使用量との間に、少なくとも２ギガバイトの余裕が生まれる。２ギガバイトは、１分間の書き込み量に相当する。
【００３２】
以上述べたように、本実施の形態では、常駐プログラムの自動起動処理に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する全体としてのメモリ使用量が常に保存済みメモリ量を下回る条件を満たすように、全体としてのメモリ使用量の経時的変化を後にずらす時間の幅を算出する。更に、再起動に応じてメモリダンプ処理が開始された時点から上記幅に相当する時間が経過した後に、常駐プログラムの自動起動処理を開始する。以上で本実施の形態における概要の説明を終える。
【００３３】
以下、情報処理装置６０１の動作について説明する。図６に、情報処理装置６０１のモジュール構成例を示す。情報処理装置６０１は、ＢＩＯＳ（Basic Input/Output System）６０３、ブートローダ６０５、ＯＳ６０７及び常駐プログラム６０９ａ乃至ｃ等を有する。ＯＳ６０７及び常駐プログラム６０９ａ乃至ｃ等は、例えばＨＤＤ（Hard Disk Drive）に記憶されている。
【００３４】
ＯＳ６０７は、受付部６２１、開始部６２３、検出部６２５、作成部６２７、設定部６２９、初期化部６３１、判定部６３３、記録処理部６３５、待機部６３７、自動起動部６３９、メモリダンプ処理部６４１及び算出部６４３を有する。
【００３５】
受付部６２１は、ユーザ操作による再起動の指示を受け付ける。開始部６２３は、ソフトリブートの手順を開始する。検出部６２５は、所定の異常発生を検出する。作成部６２７は、初期のダンプファイルを作成する。設定部６２９は、未完了フラグを設定する。初期化部６３１は、ＯＳ６０７の初期処理を行う。判定部６３３は、未完了フラグがＯＮであるか否かを判定する。記録処理部６３５は、メモリ使用量を記録する。待機部６３７は、待機時間の経過を待つ。自動起動部６３９は、常駐プログラム６０９ａ乃至ｃ等を自動的に起動する。メモリダンプ処理部６４１は、メモリダンプ処理を行う。算出部６４３は、待機時間を算出する。
【００３６】
情報処理装置６０１は、更にダンプファイル記憶部６５１、フラグ記憶部６５３、メモリ使用量記憶部６５５及びメモリ量記憶部６５７を有する。
【００３７】
ダンプファイル記憶部６５１は、ダンプファイルを記憶する。ダンプファイル記憶部６５１は、不揮発性の記憶媒体（例えば、ＨＤＤ）に設けられる。フラグ記憶部６５３は、未完了フラグを記憶する。未完了フラグは、ダンプファイルへの書き込みが完了してない場合にＯＮに設定される。フラグ記憶部６５３は、不揮発性の記憶媒体（例えば、ＨＤＤ）に設けられる。尚、ダンプファイルのヘッダに未完了フラグを設けるようにしてもよい。
【００３８】
メモリ使用量記憶部６５５は、メモリ使用量テーブルを記憶する。メモリ使用量テーブルについては、図１０を用いて後述する。メモリ使用量記憶部６５５は、不揮発性の記憶媒体（例えば、ＨＤＤ）に設けられる。メモリ量記憶部６５７は、メモリ量テーブルを記憶する。メモリ量テーブルについては、図１３を用いて後述する。メモリ量記憶部６５７は、不揮発性の記憶媒体（例えば、ＨＤＤ）に設けられる。
【００３９】
上述した受付部６２１、開始部６２３、検出部６２５、作成部６２７、設定部６２９、初期化部６３１、判定部６３３、記録処理部６３５、待機部６３７、自動起動部６３９、メモリダンプ処理部６４１及び算出部６４３は、ハードウエア資源（例えば、図１５）と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【００４０】
上述したダンプファイル記憶部６５１、フラグ記憶部６５３、メモリ使用量記憶部６５５及びメモリ量記憶部６５７は、ハードウエア資源（例えば、図１５）を用いて実現される。
【００４１】
図７に、再起動の開始処理フローを示す。この例で、再起動の契機として、ユーザ操作によって再起動を受け付ける場合（受付部６２１）と、所定の異常発生を検知した場合（検出部６２５）とを想定する。ユーザ操作によって再起動が指示された場合と、所定の異常が発生した場合とでは、処理の内容が一部異なる。
【００４２】
検出部６２５は、所定の異常発生を検出したか否かを判定する（Ｓ７０１）。所定の異常発生を検出していないと判定した場合には、開始部６２３は、ソフトリブートの手順を開始する（Ｓ７０７）。ユーザ操作によって再起動が指示された場合には、所定の異常発生が検出されない。尚、未完了フラグの初期値はＯＦＦであって、Ｓ７０７においてソフトリブートの手順を開始する場合には、未完了フラグはＯＦＦの状態である。
【００４３】
一方、所定の異常発生を検出したと判定した場合には、作成部６２７は、ダンプファイルを作成し、所定領域のデータをダンプファイルに書き込む（Ｓ７０３）。所定領域は、初期のＯＳ６０７をロードするためのメモリ領域である。
【００４４】
設定部６２９は、未完了フラグをＯＮに設定する（Ｓ７０５）。開始部６２３は、ソフトリブートの手順を開始する（Ｓ７０７）。
【００４５】
図８に、ソフトリブートの手順を示す。まず、ＢＩＯＳ６０３がデバイスの初期化を行い（Ｓ８０１）、次に、ブートローダ６０５がＯＳ６０７をロードする（Ｓ８０３）。そして、ブートローダ６０５が、ＯＳ６０７を起動する（Ｓ８０５）。
【００４６】
ＯＳ６０７の初期化部６３１は、ＯＳ６０７の初期処理を行う（Ｓ８０７）。
【００４７】
判定部６３３は、未完了フラグがＯＮであるか否かを判定する（Ｓ８０９）。未完了フラグがＯＮではないと判定した場合、つまり未完了フラグがＯＦＦである場合には、ＯＳ６０７は、記録処理部６３５による記録処理を開始する（Ｓ８１１）。
【００４８】
図９に、記録処理フローを示す。記録処理部６３５は、最初に経過時間の計測を開始する（Ｓ９０１）。記録処理において計測される経過時間は、初期のＯＳ６０７がロードされて、ＯＳ６０７の初期処理が完了した時点を起点とする。従って、図３乃至図５に示した例で、４分経過した時点を起点とする。
【００４９】
そして、記録処理部６３５は、メモリ使用量を記録するタイミングを待つ（Ｓ９０３）。例えば周期的にメモリ使用量を記録する場合には、記録処理部６３５は、所定時間が経過するのを待つ。
【００５０】
メモリ使用量を記録するタイミングに至ると、記録処理部６３５は、メモリ使用量をＯＳ６０７から取得する（Ｓ９０５）。そして、記録処理部６３５は、メモリ使用量テーブルに新しいレコードを設けて（Ｓ９０７）、当該レコードに、経過時間とメモリ使用量とを格納する（Ｓ９０９）。
【００５１】
図１０に、メモリ使用量テーブルの例を示す。この例におけるメモリ使用量テーブルは、メモリ使用量の計測タイミングに対応するレコードを有している。メモリ使用量テーブルのレコードは、経過時間が格納されるフィールドと、メモリ使用量が格納されるフィールドとを有している。
【００５２】
図９の説明に戻る。記録処理部６３５は、記録処理を終えるか否かを判定する（Ｓ９１１）。記録処理部６３５は、例えば経過時間が閾値を超えた場合に記録処理を終えると判定する。記録処理を終えないと判定した場合には、Ｓ９０３に示した処理に戻って、上述した処理を繰り返す。
【００５３】
一方、記録処理を終えると判定した場合には、記録処理部６３５は、経過時間の計測を終了して（Ｓ９１３）、記録処理を終える。
【００５４】
図８の説明に戻る。記録処理を開始すると、記録処理の終了を待たずに、自動起動部６３９は、常駐プログラム６０９の自動起動処理を実行する（Ｓ８１３）。
【００５５】
図１１に、常駐プログラム６０９の自動起動処理フローを示す。自動起動部６３９は、常駐プログラム６０９を１つ特定する（Ｓ１１０１）。起動させる常駐プログラム６０９は、予め設定されているものとする。
【００５６】
自動起動部６３９は、特定した常駐プログラム６０９を起動する（Ｓ１１０３）。そして、起動完了を待たず、自動起動部６３９は、未特定の常駐プログラム６０９があるか否かを判定する（Ｓ１１０５）。
【００５７】
未特定の常駐プログラム６０９があると判定した場合には、Ｓ１１０１に示した処理に戻って、上述した処理を繰り返す。一方、未特定の常駐プログラム６０９がないと判定した場合には、常駐プログラム６０９の自動起動処理を終える。
【００５８】
図８の説明に戻る。常駐プログラム６０９の自動起動処理を終えると、ソフトリブートの手順を終える。
【００５９】
Ｓ８０９において、未完了フラグがＯＮであると判定した場合、算出部６４３は、算出処理を実行する（Ｓ８１５）。算出部６４３は、算出処理において、待機時間を算出する。
【００６０】
図１２に、算出処理フローを示す。算出部６４３は、所定間隔の経過時間を１つ特定する（Ｓ１２０１）。
【００６１】
算出部６４３は、当該経過時間におけるメモリ使用量を特定すると共に（Ｓ１２０３）、当該経過時間における保存済みメモリ量を特定する（Ｓ１２０５）。そして、算出部６４３は、当該経過時間における超過サイズを算出する（Ｓ１２０７）。超過サイズは、当該経過時間におけるメモリ使用量から当該経過時間における保存済みメモリ量を差し引いた値である。差分が負の値である場合には、超過は生じていない。
【００６２】
算出部６４３は、未特定の経過時間があるか否かを判定する（Ｓ１２０９）。未特定の経過時間があると判定した場合には、Ｓ１２０１に示した処理に戻って、上述した処理を繰り返す。
【００６３】
一方、未特定の経過時間がないと判定した場合には、算出部６４３は、Ｓ１２０７で算出した超過サイズのうち、最大の超過サイズを特定する（Ｓ１２１１）。そして、算出部６４３は、待機時間を算出する（Ｓ１２１３）。待機時間は、最大の超過サイズを、書き込み速度で除した値に、所定時間を加えた時間である。所定時間は、余裕を与えるための時間である。算出処理を終えると、図８に示したＳ８１７の処理に復帰する。
【００６４】
図８の説明に戻る。メモリダンプ処理部６４１は、メモリダンプ処理を開始する（Ｓ８１７）。
【００６５】
図１３に、メモリダンプ処理フローを示す。メモリダンプ処理部６４１は、経過時間の計測を開始する（Ｓ１３０１）。メモリダンプ処理において計測される経過時間は、初期のＯＳ６０７がロードされて、ＯＳ６０７の初期処理が完了した時点を起点とする。従って、図３乃至図５に示した例で、４分経過した時点を起点とする。
【００６６】
メモリダンプ処理部６４１は、所定サイズのメモリ領域を順次特定する（Ｓ１３０３）。所定サイズは、書き込むブロックのサイズ（例えば、１ギガバイト）である。メモリ領域は、書き込むブロックの範囲に相当する。この例では、メインメモリの前から後方向へ、順に連続するブロックを書き込むものとする。
【００６７】
メモリダンプ処理部６４１は、当該メモリ領域のデータをダンプファイルに書き込む（Ｓ１３０５）。算出部６４３は、メモリ量テーブルに新しいレコードを設けて（Ｓ１３０７）、当該レコードに、経過時間と保存済みメモリ量とを格納する（Ｓ１３０９）。
【００６８】
図１４に、メモリ量テーブルの例を示す。この例におけるメモリ量テーブルは、保存済みメモリ量の格納タイミングに対応するレコードを有している。メモリ量テーブルのレコードは、経過時間が格納されるフィールドと、保存済みメモリ量が格納されるフィールドとを有している。
【００６９】
図１３の説明に戻る。メモリダンプ処理部６４１は、未特定のメモリ領域が残っているか否かを判定する（Ｓ１３１１）。未特定のメモリ領域が残っていると判定した場合には、Ｓ１３０３に示した処理に戻って、上述した処理を繰り返す。
【００７０】
一方、未特定のメモリ領域が残っていないと判定した場合、つまりメモリ全体をダンプファイルに書き込んだ場合には、メモリダンプ処理部６４１は、経過時間の計測を終了する（Ｓ１３１３）。算出部６４３は、書き込み速度を算出する（Ｓ１３１５）。書き込み速度は、保存済みメモリ量を経過時間で除することによって算出される。設定部６２９が未完了フラグをＯＦＦにする（Ｓ１３１７）。メモリダンプ処理部６４１は、メモリダンプ処理を終える。
【００７１】
図８の説明に戻る。待機部６３７は、算出処理を完了した時点、つまりメモリダンプ処理を開始した時点を起点として、待機時間の経過を待つ（Ｓ８１９）。
【００７２】
待機時間が経過すると、自動起動部６３９は、常駐プログラム６０９の自動起動処理を実行する（Ｓ８２１）。常駐プログラム６０９の自動起動処理を終えると、ソフトリブートの手順を終える。
【００７３】
本実施の形態によれば、再起動に応じたメモリダンプ処理において、記録の失敗を防ぐことができる。
【００７４】
また、待機時間の算出処理に係る負荷を軽減することができる。
【００７５】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【００７６】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【００７７】
なお、上で述べた情報処理装置６０１は、コンピュータ装置であって、図１５に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７８】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００７９】
本実施の形態に係る再起動方法は、（Ａ）常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化するメモリ使用量が常に保存済みメモリ量を下回る条件を満たすように、メモリ使用量の経時的変化を後にずらす時間の幅を算出し、（Ｂ）再起動に応じてメモリダンプ処理が開始された時点から上記幅に相当する時間が経過した後に、自動起動を開始する処理を含む。
【００８０】
このようにすれば、再起動に応じたメモリダンプ処理において、記録の失敗を防ぐことができる。
【００８１】
また、メモリ使用量が同時期の保存済みメモリ量を超える最大量を特定し、当該最大量をメモリダンプ処理における書き込み速度で除することによって、上記幅を算出するようにしてもよい。
【００８２】
このようにすれば、算出処理に係る負荷を軽減することができる。
【００８３】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【００８４】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８５】
（付記１）
常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する前記メモリ使用量が常に前記保存済みメモリ量を下回る条件を満たすように、前記メモリ使用量の前記経時的変化を後にずらす時間の幅を算出し、
再起動に応じて前記メモリダンプ処理が開始された時点から前記幅に相当する時間が経過した後に、前記自動起動を開始する
処理をコンピュータに実行させる再起動プログラム。
【００８６】
（付記２）
前記メモリ使用量が同時期の前記保存済みメモリ量を超える最大量を特定し、当該最大量をメモリダンプ処理における書き込み速度で除することによって、前記幅を算出する
付記１記載の再起動プログラム。
【００８７】
（付記３）
常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する前記メモリ使用量が常に前記保存済みメモリ量を下回る条件を満たすように、前記メモリ使用量の前記経時的変化を後にずらす時間の幅を算出し、
再起動に応じて前記メモリダンプ処理が開始された時点から前記幅に相当する時間が経過した後に、前記自動起動を開始する
処理を含み、コンピュータにより実行される再起動方法。
【００８８】
（付記４）
常駐プログラムの自動起動に応じたメモリ使用量の経時的変化の実績と、メモリダンプ処理による保存済みメモリ量の経時的変化の実績とに基づいて、変化する前記メモリ使用量が常に前記保存済みメモリ量を下回る条件を満たすように、前記メモリ使用量の前記経時的変化を後にずらす時間の幅を算出する算出部と、
再起動に応じて前記メモリダンプ処理が開始された時点から前記幅に相当する時間が経過した後に、前記自動起動を開始する自動起動部と
を有する再起動装置。
【符号の説明】
【００８９】
６０１  情報処理装置
６０３  ＢＩＯＳ
６０５  ブートローダ
６０７  ＯＳ
６０９  常駐プログラム
６２１  受付部
６２３  開始部
６２５  検出部
６２７  作成部
６２９  設定部
６３１  初期化部
６３３  判定部
６３５  記録処理部
６３７  待機部
６３９  自動起動部
６４１  メモリダンプ処理部
６４３  算出部
６５１  ダンプファイル記憶部
６５３  フラグ記憶部
６５５  メモリ使用量記憶部
６５７  メモリ量記憶部
【図１】
2019082893.tif 000003
【図２】
2019082893.tif 000004
【図３】
2019082893.tif 000005
【図４】
2019082893.tif 000006
【図５】
2019082893.tif 000007
【図６】
2019082893.tif 000008
【図７】
2019082893.tif 000009
【図８】
2019082893.tif 000010
【図９】
2019082893.tif 000011
【図１０】
2019082893.tif 000012
【図１１】
2019082893.tif 000013
【図１２】
2019082893.tif 000014
【図１３】
2019082893.tif 000015
【図１４】
2019082893.tif 000016
【図１５】
2019082893.tif 000017