(57)【要約】【課題】書き込み速度の異なる記憶装置を含む複数の記憶装置を用いて、ダンプファイルの作成時間をより短縮できる情報処理装置を提供する。【解決手段】本情報処理装置は、複数の記憶装置と、割当部と出力部とを備える。割当部は、メモリに記憶された情報を出力するダンプ処理によって出力されるダンプデータの出力先を複数の記憶装置各々の領域に分割して割り当てる際に、複数の記憶装置のうち書き込み速度の速い記憶装置に対して他の記憶装置より大きい容量を割り当てるように領域各々の容量を割り当てる。出力部は、割当部によって容量が割り当てられた領域各々に対して分割したダンプデータの出力を並列して行う。【選択図】図１８
2018124895.tif 000002
【特許請求の範囲】
【請求項１】
複数の記憶装置と、
メモリに記憶された情報を出力するダンプ処理によって出力されるダンプデータの出力先を前記複数の記憶装置各々の領域に分割して割り当てる際に、前記複数の記憶装置のうち書き込み速度の速い記憶装置に対して他の記憶装置より大きい容量を割り当てるように前記領域各々の容量を割り当てる割当部と、
前記割当部によって容量が割り当てられた前記領域各々に対して分割した前記ダンプデータの出力を並列して行う出力部と、を備える、
情報処理装置。
【請求項２】
前記複数の記憶装置各々の書き込み速度を測定する測定部を更に備え、
前記割当部は、前記測定された書き込み速度に基づいて前記領域各々の容量を割り当てる、
請求項１に記載の情報処理装置。
【請求項３】
前記割当部は、前記測定部が書き込み速度を測定できた記憶装置の数が２台以上の場合に、書き込み速度を測定できた記憶装置を対象として前記領域各々の容量を割り当てる処理を実行する、
請求項２に記載の情報処理装置。
【請求項４】
前記ダンプ処理の対象となるメモリ領域を特定する情報と、前記特定する情報によって特定されるメモリ領域の容量と前記情報処理装置が備えた全メモリ領域の容量との比とを対応付ける第１のダンプ情報を保持し、
前記割当部は、前記ダンプ処理の対象となるメモリ領域が前記特定する情報によって指定されると、前記第１のダンプ情報を参照して出力されるダンプデータの容量を決定し、決定した容量が確保できるように前記領域各々の容量を割り当てる、
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
圧縮方式と、前記圧縮方式による前記ダンプデータの圧縮率とを対応付けた第２のダンプ情報を保持し、
前記割当部は、前記ダンプデータに対する圧縮方式が指定されると、前記第２のダンプ情報を参照して指定された圧縮方式に対応付けられた圧縮率を基に前記ダンプデータの容量を決定し、決定した容量が確保できるように前記領域各々の容量を割り当てる、
請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記出力部は、Redundant Arrays of Independent Disks（ＲＡＩＤ）によって前記領
域各々を組み合わせて前記ダンプデータの出力先を作成する、
請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
複数の記憶装置を有する情報処理装置が、
メモリに記憶された情報を出力するダンプ処理によって出力されるダンプデータの出力先を前記複数の記憶装置各々の領域に分割して割り当てる際に、前記複数の記憶装置のうち書き込み速度の速い記憶装置に対して他の記憶装置より大きい容量を割り当てるように前記領域各々の容量を割り当て、
容量が割り当てられた前記領域各々に対して分割した前記ダンプデータを並列して出力する、
情報処理方法。
【請求項８】
複数の記憶装置を有する情報処理装置に、
メモリに記憶された情報を出力するダンプ処理によって出力されるダンプデータの出力先を前記複数の記憶装置各々の領域に分割して割り当てる際に、前記複数の記憶装置のうち書き込み速度の速い記憶装置に対して他の記憶装置より大きい容量を割り当てるように前記領域各々の容量を割り当てさせ、
容量が割り当てられた前記領域各々に対して分割した前記ダンプデータを並列して出力させる、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
情報処理装置における障害発生時の調査資料として、ダンプファイルが利用されている。ダンプファイルは、例えば、障害の発生した情報処理装置が備えたメモリの内容を出力するメモリダンプによって作成される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１３／１３６４５７号
【特許文献２】特開平０５−０２０１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年では、情報処理装置に搭載されるメモリ容量が増大し、メモリ容量の増大にともなってダンプファイルを作成する時間が増大している。そのため、情報処理装置で発生した障害の原因究明に時間がかかっていた。そこで、ダンプファイルを分割し、分割したダンプファイルの各々を情報処理装置に接続された複数の記憶装置に対して並列に出力することで、ダンプファイル作成時間の短縮が図られている。
【０００５】
ダンプファイルは、複数の記憶装置各々に対して均等に分割される。複数の記憶装置が書き込み速度の異なる記憶装置を含む場合、書き込み速度の速い記憶装置へのダンプファイル出力が完了しても、書き込み速度の遅い記憶装置へのダンプファイル出力が完了するまで、ダンプファイル全体の作成は完了しない。書き込み速度の速い記憶装置は、自装置へのダンプファイルの出力が完了しても、書き込み速度の遅い記憶装置へのダンプファイルの出力が完了するまでの間、待機状態となる。そのため、ダンプファイルの作成時間を十分に短縮できているとは言い難かった。
【０００６】
そこで、開示の技術の１つの側面は、書き込み速度の異なる記憶装置を含む複数の記憶装置を用いて、ダンプファイルの作成時間をより短縮できる情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００７】
１つの側面では、本発明は、次のような情報処理装置によって例示される。本情報処理装置は、複数の記憶装置と、割当部と出力部とを備える。割当部は、メモリに記憶された情報を出力するダンプ処理によって出力されるダンプデータの出力先を複数の記憶装置各々の領域に分割して割り当てる際に、複数の記憶装置のうち書き込み速度の速い記憶装置に対して他の記憶装置より大きい容量を割り当てるように領域各々の容量を割り当てる。出力部は、割当部によって容量が割り当てられた領域各々に対して分割したダンプデータの出力を並列して行う。
【発明の効果】
【０００８】
本情報処理装置は、書き込み速度の異なる記憶装置を含む複数の記憶装置を用いて、ダンプファイルの作成時間をより短縮することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１実施形態に係るメモリダンプ評価システムの一例を示す図である。
【図２】図２は、情報処理装置のハードウェア構成の一例を示す図である。
【図３】図３は、被試験装置のハードウェア構成の一例を示す図である。
【図４】図４は、試験装置の処理ブロックの一例を示す図である。
【図５】図５は、ダンプテーブルの一例を示す図である。
【図６】図６は、ダンプテーブルの「level」で用いられる数値の一例を示す図である。
【図７】図７は、圧縮ダンプテーブルの一例を示す図である。
【図８】図８は、テストパターンテーブルの一例を示す図である。
【図９】図９は、被試験装置の処理ブロックの一例を示す図である。
【図１０】図１０は、ＩＯテーブルの一例を示す図である。
【図１１】図１１は、ＨＤＤ割当テーブルの一例を示す図である。
【図１２】図１２は、図１１に例示されるＨＤＤ割当テーブルに対してテストパターン１の割当容量を追記した図の一例である。
【図１３】図１３は、テストパターン２について割当容量を算出したＨＤＤ割当テーブルの一例を示す図である。
【図１４】図１４は、テストパターン２までの割当容量の決定がなされたＨＤＤ割当テーブルの一例を示す図である。
【図１５】図１５は、テストパターン３および４についても割当容量を決定したＨＤＤ割当テーブルの一例を示す図である。
【図１６】図１６は、ＲＡＩＤ管理部がＨＤＤ割当テーブルにしたがって複数のＨＤＤを組み合わせて１つのダンプデバイスを作成するフローの一例を示す図である。
【図１７】図１７は、ＣＰＵ監視部によるＣＰＵ監視フローの一例を示す図である。
【図１８】図１８は、第１実施形態に係るダンプ評価システムの処理の概略の一例を示す図である。
【図１９】図１９は、第１実施形態に係るダンプ評価システムの処理シーケンスの概略を示す図である。
【図２０】図２０は、試験装置の処理フローの詳細の一例を示す第１の図である。
【図２１】図２１は、試験装置の処理フローの詳細の一例を示す第２の図である。
【図２２】図２２は、試験装置の処理フローの詳細の一例を示す第３の図である。
【図２３】図２３は、試験装置の処理フローの詳細の一例を示す第４の図である。
【図２４】図２４は、被試験装置の処理フローの詳細の一例を示す第１の図である。
【図２５】図２５は、被試験装置の処理フローの詳細の一例を示す第２の図である。
【図２６】図２６は、被試験装置の処理フローの詳細の一例を示す第３の図である。
【図２７】図２７は、被試験装置の処理フローの詳細の一例を示す第４の図である。
【図２８】図２８は、被試験装置の処理フローの詳細の一例を示す第５の図である。
【図２９】図２９は、被試験装置の処理フローの詳細の一例を示す第６の図である。
【図３０】図３０は、比較例に係る各ダンプＨＤＤへの割当容量とダンプ取得時間の一例を示す図である。
【図３１】図３１は、第１実施形態に係る各ダンプＨＤＤへの割当容量とダンプ取得時間の一例を示す図である。
【図３２】図３２は、パターン番号１〜４までの各テストにおいて出力されるダンプファイルのファイルサイズをまとめた表の一例である。
【図３３】図３３は、比較例における各テストパターン毎に各ダンプＨＤＤへ割り当てられた割当容量およびダンプファイルの取得時間の一例を示す図である。
【図３４】図３４は、第１実施形態における各テストパターン毎に各ＨＤＤへ割り当てられた割当容量およびダンプファイルの取得時間の一例を示す図である。
【図３５】図３５は、比較例におけるダンプファイル取得時間を各パターン番号のテストごとにまとめた表の一例である。
【図３６】図３６は、第１実施形態におけるダンプファイル取得時間を各パターン番号のテストごとにまとめた表の一例である。
【図３７】図３７は、Software RAIDによって作成されたダンプデバイスへのアクセスをHypervisorを利用して実現した第１変形例の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、一実施形態に係るメモリダンプ評価システムについて説明する。以下に示す実施形態の構成は例示であり、開示の技術は実施形態の構成に限定されない。
【００１１】
＜第１実施形態＞
メモリダンプでは、情報を取得するメモリ領域、ダンプファイルの圧縮の有無等の様々なパラメータが指定される。第１実施形態では、様々なパラメータの組合わせに対して、正当なダンプファイルが取得できたか否かを評価するメモリダンプ評価システムが例示される。正当なダンプファイルとは、例えば、指定されたパラメータによって想定される情報を含むダンプファイルによって例示される。第１実施形態に係るメモリダンプ評価システムでは、複数のハードディスクドライブ（ＨＤＤ）をダンプファイルの出力先であるダンプデバイスとする。さらに、第１実施形態では、複数のＨＤＤのうち書き込み速度の速いＨＤＤに対してダンプデバイスとして使用する容量を他のＨＤＤよりも多く確保する。第１実施形態に係るメモリダンプ評価システムでは、ダンプファイルの出力を複数のＨＤＤに分散するとともに、ダンプデバイスとして使用する容量を書き込み速度の速いＨＤＤに対して多めに確保することで、ダンプファイルの出力にかかる時間を短縮する。図１は、第１実施形態に係るメモリダンプ評価システム１の一例を示す図である。メモリダンプ評価システム１は、試験装置２０、被試験装置３０および操作端末１０を含む。試験装置２０、被試験装置３０および操作端末１０は、試験ネットワークＮ１によって相互に接続されている。
【００１２】
試験装置２０は、情報処理装置である。試験装置２０は、操作端末１０からの指示に応じて、メモリダンプを行う際の各種パラメータを指定して被試験装置３０にメモリダンプを実行させる。さらに、試験装置２０は、正当なダンプファイルが出力されたか否かの確認を被試験装置３０に指示する。
【００１３】
被試験装置３０は、情報処理装置である。被試験装置３０は、試験装置２０からの指示にしたがってメモリダンプを実行するとともに、出力されたダンプファイルが正当であるか否かの確認を行う。
【００１４】
操作端末１０は、情報処理装置である。操作端末１０は、メモリダンプ評価システム１の利用者にユーザインターフェースを提供する。操作端末１０は、利用者からの入力に応じてメモリダンプ評価の開始を試験装置２０に指示する。
【００１５】
試験ネットワークＮ１は、情報処理装置を互いに通信可能に接続するコンピュータネットワークである。試験ネットワークＮ１は、無線または有線のいずれの通信方式が採用されてもよい。試験ネットワークＮ１は、例えば、Local Area Network（ＬＡＮ）、Wide Area Network（ＷＡＮ）、Virtual Private Network（ＶＰＮ）、無線ＬＡＮまたは携帯電話による通信回線である。
【００１６】
図２は、情報処理装置１００のハードウェア構成の一例を示す図である。情報処理装置１００は、Central Processing Unit（ＣＰＵ）１０１、主記憶部１０２、補助記憶部１
０３、通信部１０４および接続バスＢ１を含む。ＣＰＵ１０１、主記憶部１０２、補助記憶部１０３および通信部１０４は、接続バスＢ１によって相互に接続されている。情報処
理装置１００は、試験装置２０、被試験装置３０および操作端末１０として利用できる。
【００１７】
ＣＰＵ１０１は、Microprocessor（ＭＰＵ）、プロセッサとも呼ばれる。ＣＰＵ１０１は、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のＣＰＵ１０１がマルチコア構成を有していても良い。ＣＰＵ１０１が実行する処理の少なくとも一部は、ＣＰＵ１０１以外のプロセッサ、例えば、Digital Signal Processor（ＤＳＰ）、Graphics Processing Unit（ＧＰＵ）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われても良い。また、ＣＰＵ１０１が実行する処理の少なくとも一部は、集積回路（ＩＣ）、その他のディジタル回路であっても良い。また、ＣＰＵ１０１が実行する処理の少なくとも一部にアナログ回路が含まれても良い。集積回路は、ＬＳＩ，Application Specific Integrated Circuit（ASIC），プログラマブルロジックデバイス（ＰＬＤ）を含む
。ＰＬＤは、例えば、Field-Programmable Gate Array（ＦＰＧＡ）を含む。ＣＰＵ１０
１が実行する処理は、プロセッサと集積回路との組み合わせによって実行されても良い。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ），System-on-a-chip（ＳｏＣ），システムＬＳＩ，チップセットなどと呼ばれる。情報処理装置１００では、ＣＰＵ１０１が補助記憶部１０３に記憶されたプログラムを主記憶部１０２の作業領域に展開し、プログラムの実行を通じて周辺装置の制御を行う。これにより、情報処理装置１００は、所定の目的に合致した処理を実行することができる。主記憶部１０２および補助記憶部１０３は、情報処理装置１００が読み取り可能な記録媒体である。
【００１８】
主記憶部１０２は、ＣＰＵ１０１から直接アクセスされる記憶部として例示される。主記憶部１０２は、Random Access Memory（ＲＡＭ）およびRead Only Memory（ＲＯＭ）を含む。以下、本明細書において、ＲＡＭはメモリとも称する。
【００１９】
補助記憶部１０３は、各種のプログラムおよび各種のデータを読み書き自在に記録媒体に格納する。補助記憶部１０３は外部記憶装置とも呼ばれる。補助記憶部１０３には、オペレーティングシステム（Operating System、ＯＳ）、各種プログラム、各種テーブル等が格納される。ＯＳは、通信部１０４を介して接続される外部装置等とのデータの受け渡しを行う通信インターフェースプログラムを含む。外部装置等には、例えば、コンピュータネットワーク等で接続された、他の情報処理装置および外部記憶装置が含まれる。なお、補助記憶部１０３は、例えば、ネットワーク上のコンピュータ群であるクラウドシステムの一部であってもよい。
【００２０】
補助記憶部１０３は、例えば、Erasable Programmable ROM（ＥＰＲＯＭ）、ソリッド
ステートドライブ（Solid State Drive、ＳＳＤ）、ハードディスクドライブ（Hard Disk
Drive、ＨＤＤ）等である。また、補助記憶部１０３は、例えば、Compact Disc（ＣＤ）ドライブ装置、Digital Versatile Disc（ＤＶＤ）ドライブ装置、Blu-ray（登録商標）Disc（ＢＤ）ドライブ装置等である。また、補助記憶部１０３は、Network Attached Storage（ＮＡＳ）あるいはStorage Area Network（ＳＡＮ）によって提供されてもよい。
【００２１】
情報処理装置１００が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、情報処理装置１００から読み取ることができる記録媒体をいう。このような記録媒体のうち情報処理装置１００から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、情報処理装置１００に固定された記録媒体としてハードディスク、ＳＳＤあるいはＲＯＭ等がある。
【００２２】
通信部１０４は、例えば、試験ネットワークＮ１とのインターフェースである。通信部
１０４は、試験ネットワークＮ１を介して外部の装置と通信を行う。通信部１０４は、例えば、Network Interface Card（ＮＩＣ）、無線ＬＡＮカードまたは携帯電話である。
【００２３】
情報処理装置１００は、例えば、ユーザ等からの操作指示等を受け付ける入力部をさらに備えてもよい。このような入力部として、キーボード、ポインティングデバイス、タッチパネル、加速度センサーあるいは音声入力装置といった入力デバイスを例示できる。
【００２４】
情報処理装置１００は、例えば、ＣＰＵ１０１で処理されるデータや主記憶部１０２に記憶されるデータを出力する出力部を備えるものとしてもよい。このような、出力部として、Cathode Ray Tube（ＣＲＴ）ディスプレイ、Liquid Crystal Display（ＬＣＤ）、Plasma Display Panel（ＰＤＰ）、Electroluminescence（ＥＬ）パネル、有機ＥＬパネル
あるいはプリンタといった出力デバイスを例示できる。
【００２５】
図３は、被試験装置３０のハードウェア構成の一例を示す図である。図３は、図２をより具体的に示した図である。被試験装置３０のＣＰＵ１０１は、ＣＰＵ１０１ａ、１０１ｂ、１０１ｃおよび予備ＣＰＵ１０１ｄを含む。予備ＣＰＵ１０１ｄは、ＣＰＵ１０１ａ、１０１ｂ、１０１ｃの処理負荷が低い状態のときは停止しており、ＣＰＵ１０１ａ、１０１ｂ、１０１ｃの処理負荷が高くなった場合に起動する。被試験装置３０の補助記憶部１０３は、外付けＨＤＤ３１ａ、３１ｂ、３１ｃ、内蔵ＨＤＤ３１ｄおよび起動ＨＤＤ３２を含む。外付けＨＤＤ３１ａは、ファイバーカードを介して接続バスＢ１に接続される。外付けＨＤＤ３１ｂは、外付けSerial Attached Small Computer System Interface（
ＳＡＳ）カードを介して接続バスＢ１に接続される。外付けＨＤＤ３１ｃは、外付けRedundant Arrays of Independent Disks（ＲＡＩＤ）カードを介して接続バスＢ１に接続さ
れる。内蔵ＨＤＤ３１ｄは、内蔵ＲＡＩＤカードを介して接続バスＢ１に接続される。第１実施形態において、外付けＨＤＤ３１ａ、３１ｂ、３１ｃおよび内蔵ＨＤＤ３１ｄは、ダンプファイルの出力先として用いられる。以下、本明細書において、外付けＨＤＤ３１ａ、３１ｂ、３１ｃおよび内蔵ＨＤＤ３１ｄを総称して、ダンプＨＤＤ３１と称する。また、以下本明細書において、外付けＨＤＤ３１ａ、３１ｂ、３１ｃおよび内蔵ＨＤＤ３１ｄをそれぞれダンプＨＤＤ３１ａ、３１ｂ、３１ｃ、３１ｄとも称する。ダンプＨＤＤ３１およびダンプＨＤＤ３１ａ、３１ｂ、３１ｃ、３１ｄは、「記憶装置」の一例である。
【００２６】
起動ＨＤＤ３２は、例えば、被試験装置３０が有する内部インターフェースを介して接続バスＢ１に接続される。起動ＨＤＤ３２には、業務ＯＳ３４０、ダンプＯＳ３４１およびスループット取得用ＯＳ３４２（図３では、取得用ＯＳと記載）が格納される。業務ＯＳ３４０は被試験装置３０が通常動作時に稼働するＯＳである。業務ＯＳ３４０は、カーネルパニックに例示されるシステムパニックが発生した場合に処理をダンプＯＳ３４１に切替えるダンプサービスを含む。ダンプＯＳ３４１は、例えば業務ＯＳ３４０においてカーネルパニックが発生した場合に、メモリダンプを実行するＯＳである。スループット取得用ＯＳ３４２は、各ダンプＨＤＤ３１の読み書き処理の速度であるスループットを取得するＯＳである。スループット取得用ＯＳ３４２は、例えば、ダンプＨＤＤ３１のスループットを取得するコマンドを備える。スループット取得用ＯＳ３４２では、スループットを取得するプロセス以外のプロセスによるダンプＨＤＤ３１へのアクセスを業務ＯＳ３４０およびダンプＯＳ３４１よりも抑えることで、より高い精度でダンプＨＤＤ３１のスループットを取得できる。
【００２７】
＜試験装置２０の処理ブロック＞
図４は、試験装置２０の処理ブロックの一例を示す図である。試験装置２０は、試験アプリケーション２１０、ダンプ出力時間推測テーブル２２０およびテストパターンテーブル２３０を含む。試験アプリケーション２１０は、被試験装置制御部２１１、スループット取得指示部２１２、ダンプデバイス作成部２１３およびダンプファイル確認部２１４を
含む。ダンプ出力時間推測テーブル２２０は、ダンプテーブル２２１および圧縮ダンプテーブル２２２を含む。試験装置２０は、主記憶部１０２に実行可能に展開されたコンピュータプログラムをＣＰＵ１０１が実行することで、試験装置２０の、被試験装置制御部２１１、スループット取得指示部２１２、ダンプデバイス作成部２１３およびダンプファイル確認部２１４等の各部としての処理を実行する。ダンプ出力時間推測テーブル２２０およびテストパターンテーブル２３０は、例えば、試験装置２０の主記憶部１０２に記憶される。
【００２８】
被試験装置制御部２１１は、被試験装置３０への各種指示を行う。被試験装置制御部２１１による指示は、例えば、電源投入またはシャットダウン、疑似エラーの発生、被試験装置３０に割り当てられたＨＤＤの開放等を含む。疑似エラーは、例えば、カーネルパニックによって例示されるエラーをダンプファイル出力のために疑似的に発生させたエラーである。さらに、被試験装置制御部２１１は、テストパターンテーブル２３０およびダンプ出力時間推測テーブル２２０を被試験装置３０に転送する処理も実行する。
【００２９】
スループット取得指示部２１２は、被試験装置３０に接続されたダンプＨＤＤ３１のスループットを取得するよう被試験装置３０に指示する。
【００３０】
ダンプデバイス作成部２１３は、スループットの取得時に使用するファイルシステムの構築を被試験装置３０に指示する。また、ダンプデバイス作成部２１３は、メモリダンプ実行時にダンプファイルの出力先となるダンプデバイスの初期化を被試験装置３０に指示する。ダンプデバイスは、例えば、複数のダンプＨＤＤ３１を組み合わせて作成される。ダンプデバイスの初期化は、例えば、デバイス名の割り当ておよびファイルシステムの構築を含む。
【００３１】
ダンプファイル確認部２１４は、メモリダンプによって出力されたダンプファイルが正当であるか否かの確認を実行するよう被試験装置３０に指示する。
【００３２】
ダンプ出力時間推測テーブル２２０は、メモリダンプの対象とするメモリ領域の指定およびダンプファイルの圧縮率等の各種パラメータの組合わせ毎に、ダンプファイルの出力にかかる時間算出に用いる係数を登録したテーブルである。ダンプ出力時間推測テーブル２２０は、ダンプテーブル２２１および圧縮ダンプテーブル２２２を含む。
【００３３】
ダンプテーブル２２１は、ダンプファイルの取得対象となるメモリ領域を識別する情報と、被試験装置３０が備えるメモリ容量に対するダンプファイルの取得対象となるメモリ領域の容量の比とを対応付けたテーブルである。図５は、ダンプテーブル２２１の一例を示す図である。ダンプテーブル２２１は、「level」と「相対係数」の２項目を含む。「level」には、メモリダンプの対象とするメモリ領域を示す数値が設定される。「level」
は、ダンプファイルの取得対象となるメモリ領域を識別する情報の例示である。図６は、ダンプテーブル２２１の「level」で用いられる数値の一例を示す図である。図５の「level」に設定される数値には、図６のメモリダンプの対象としない領域を示す「設定値」を合計した値が記憶される。例えば、メモリ領域の内「ゼロページ」および「フリーページ」以外をメモリダンプの対象とする場合は、「ゼロページ」を示す設定値「１」と「フリーページ」を示す設定値「１６」の合計値である「１７」がダンプテーブル２２１の「level」に設定される。また、メモリダンプの対象としない領域が無い場合、換言すればメ
モリの全領域をメモリダンプの対象とする場合、ダンプテーブル２２１の「level」とし
て、「０」が設定される。ダンプテーブル２２１の「相対係数」は被試験装置３０が備えるメモリの全領域に対する比によって各levelのダンプファイルの出力対象となる容量を
示す係数が設定される。なお、ダンプファイルの出力時間はダンプファイルのファイルサイズに依存する。そのため、ダンプテーブル２２１の「相対係数」は、被試験装置３０が
備えるメモリの全領域をメモリダンプの対象としたダンプファイルの出力時間に対する比によって各levelのダンプファイルの出力時間を示す係数と把握することもできる。ダン
プテーブル２２１は、「第１のダンプ情報」の一例である。
【００３４】
圧縮ダンプテーブル２２２は、ダンプファイルを圧縮する圧縮方式とダンプファイルの出力にかかる時間の係数とを対応付けるテーブルである。図７は、圧縮ダンプテーブル２２２の一例を示す図である。図７では、圧縮ダンプテーブル２２２では、圧縮方式として、「zlib」、「lzo」、「snappy」および圧縮を行わない「なし」が例示されている。相
対係数には、圧縮を行わない「なし」の場合のダンプファイル出力時間を「１」とする比によって各圧縮方式のダンプファイルの出力に係る時間を示す係数が設定される。圧縮ダンプテーブル２２２の相対係数は、例えば、「圧縮前のダンプファイルの出力時間」を「圧縮後のダンプファイルの出力時間」で割ることによって決定される。なお、ダンプファイルの出力時間は上述の通りダンプファイルのファイルサイズに依存する。そのため、圧縮ダンプテーブル２２２の「相対係数」は、圧縮を行わない「なし」の場合に出力されるダンプファイルのファイルサイズを「１」とする比によって各圧縮方式の圧縮率を示す係数と把握することもできる。圧縮ダンプテーブル２２２は、「第２のダンプ情報」の一例である。
【００３５】
テストパターンテーブル２３０は、メモリダンプを実行する際の各種パラメータの組み合わせを含むテストパターンが登録される。図８は、テストパターンテーブル２３０の一例を示す図である。テストパターンテーブル２３０は、パターン番号、デバイス、物理メモリ、部分ダンプおよび圧縮ダンプの各項目を有する。パターン番号には、テストパターンを識別する番号が設定される。図８に例示されるテストパターンテーブル２３０では、パターン番号１〜４までの４種類のテストパターンが登録されている。デバイスには、ダンプファイルが出力されるダンプデバイスが指定される。物理メモリには、メモリダンプの対象となるメモリの容量が設定される。部分ダンプには、ダンプテーブル２２１の「level」の値が設定される。圧縮ダンプには、ダンプファイルの圧縮方式が設定される。例
えば、パターン番号１では部分ダンプとして「１７」が設定されている。図６を参照すると、パターン番号１では、設定値「１」のゼロページと設定値「１６」のフリーページを除いたメモリ領域をダンプ対象としていることがわかる。すなわち、パターン番号１では、ゼロページとフリーページを除いた１２８ＧＢのメモリ領域をメモリダンプの対象として、「LABEL=/dump」で示されるデバイスに対して、「snappy」形式で圧縮されたダンプ
ファイルが出力される。以下、本明細書において、パターン番号ＸのテストパターンをテストパターンＸとも称する。例えば、パターン番号１のテストパターンは、テストパターン１とも称する。
【００３６】
＜被試験装置３０の処理ブロック＞
図９は、被試験装置３０の処理ブロックの一例を示す図である。被試験装置３０は、ＢＩＯＳ３１０、ダンプ実行部３３１、ＩＯテーブル３３２、ＨＤＤ割当テーブル３３３、テストパターンテーブル２３０およびダンプ出力時間推測テーブル２２０を含む。ＢＩＯＳ３１０は、ダンプデバイス調整部３２０およびＣＰＵ  ｈｏｔ−ａｄｄ部３３０を含む。ダンプデバイス調整部３２０は、デバイス管理部３２１、ＲＡＩＤ管理部３２２およびＣＰＵ監視部３２３を含む。被試験装置３０は、主記憶部１０２に実行可能に展開されたコンピュータプログラムをＣＰＵ１０１が実行することで、被試験装置３０の、デバイス管理部３２１、ＲＡＩＤ管理部３２２、ＣＰＵ監視部３２３、ＣＰＵ  ｈｏｔ−ａｄｄ部３３０およびダンプ実行部３３１等の各部としての処理を実行する。ＩＯテーブル３３２、ＨＤＤ割当テーブル３３３、テストパターンテーブル２３０およびダンプ出力時間推測テーブル２２０は、例えば、被試験装置３０の主記憶部１０２に記憶される。
【００３７】
デバイス管理部３２１は、ＩＯテーブル３３２の更新、ダンプファイルの出力先となる
ダンプデバイスの割り当ておよびダンプデバイスの割り当て解除を行う。さらに、デバイス管理部３２１は、例えば、試験装置２０のスループット取得指示部２１２からの指示に応じてダンプＨＤＤ３１のスループットを測定する。デバイス管理部３２１は、測定したスループットをＩＯテーブル３３２に登録する。デバイス管理部３２１は、「割当部」の一例である。デバイス管理部３２１は、「測定部」の一例でもある。
【００３８】
ＲＡＩＤ管理部３２２は、例えば、複数のダンプＨＤＤ３１をSoftware RAIDによって
組み合わせて１つのダンプデバイスを作成する。ＲＡＩＤ管理部３２２は、例えば、複数のダンプＨＤＤ３１へ並列に書き込みを実行できるＲＡＩＤ０によってダンプデバイスを作成する。作成されたダンプデバイスは、ＯＳからは１台のＨＤＤとして認識される。ＲＡＩＤ管理部３２２は、例えば、Unified Extensible Firmware Interface（ＵＥＦＩ）
のランタイムサービスとしてＢＩＯＳ３１０内に実装される。業務ＯＳ３４０およびダンプＯＳ３４１は、例えば、ＵＥＦＩが提供するインターフェースを利用してＲＡＩＤ管理部３２２によって作成されたダンプデバイスにアクセスする。
【００３９】
ＣＰＵ監視部３２３は、被試験装置３０のReliability Availability Serviceability
（ＲＡＳ）監視の一環として、ＣＰＵ１０１の温度を監視する。ＣＰＵ監視部３２３は、メモリダンプ時等の負荷によって許容温度を超えたＣＰＵ１０１が存在した場合、ＣＰＵ
ｈｏｔ−ａｄｄ部３３０に対して、予備ＣＰＵ１０１ｄを稼働させるように指示する。また、ＣＰＵ監視部３２３は、稼働しているＣＰＵ１０１の温度が許容温度内に収まった場合、ＣＰＵ  ｈｏｔ−ａｄｄ部３３０に対して、予備ＣＰＵ１０１ｄを停止するように指示する。
【００４０】
ＣＰＵ  ｈｏｔ−ａｄｄ部３３０は、ＣＰＵ監視部３２３からの指示に応じて、予備ＣＰＵ１０１ｄを稼働させる。稼働した予備ＣＰＵ１０１ｄは、例えば、他のＣＰＵ１０１と協働してメモリダンプを実行する。また、ＣＰＵ  ｈｏｔ−ａｄｄ部３３０は、ＣＰＵ監視部３２３からの指示に応じて、予備ＣＰＵ１０１ｄを停止させる。
【００４１】
ダンプ実行部３３１は、メモリダンプを実行する。ダンプ実行部３３１は、例えば、ダンプＯＳ３４１に含まれる。ダンプ実行部３３１によるメモリダンプは、例えば、業務ＯＳ３４０で障害が発生した場合および試験装置２０の被試験装置制御部２１１から指示を受けた場合に実行される。さらに、ダンプ実行部３３１は、試験装置２０から疑似エラー発生の指示を受信すると、疑似エラーを発生させる。ダンプ実行部３３１は、「出力部」の一例である。
【００４２】
ＩＯテーブル３３２は、被試験装置３０に接続されたダンプＨＤＤ３１の記憶容量と接続経路を保持する。ＩＯテーブル３３２は、さらに、デバイス管理部３２１によって測定された各ダンプＨＤＤ３１のスループットを保持する。図１０は、ＩＯテーブル３３２の一例を示す図である。ＩＯテーブル３３２は、ＰＣカード名、ＰＣカード番号、ＨＤＤ容量およびスループットの各情報が保持される。ＰＣカード名には、ダンプＨＤＤ３１が接続されるＰＣカードの名称が保持される。ＰＣＩカード番号には、ＰＣＩカードを特定する番号が保持される。ＰＣＩカード番号は、例えば、ＰＣＩカードが接続されたＰＣＩスロットに割り振られた番号である。ＨＤＤ容量は、接続されたダンプＨＤＤ３１の記憶容量が保持される。スループットは、ダンプＨＤＤ３１のスループットが保持される。例えば、ＰＣＩカード名「ファイバー」に接続されたダンプＨＤＤ３１は、図３を参照すると、外付けＨＤＤ３１ａである。ＩＯテーブル３３２を参照すると、ＰＣＩカード「ファイバー」に接続された外付けＨＤＤ３１ａのＰＣＩカード番号は「ＰＣＩカード１」、ＨＤＤ容量は「８００ＧＢ」、スループットは「１００ＭＢ／ｓ」であることがわかる。
【００４３】
ＨＤＤ割当テーブル３３３は、被試験装置３０に接続されたダンプＨＤＤ３１各々につ
いて、ダンプファイルの出力先として割り当てられた割当容量をテストパターン毎に保持する。図１１は、ＨＤＤ割当テーブル３３３の一例を示す図である。ＨＤＤ割当テーブル３３３は、「パターン番号」、「パターン物理メモリ」、「ＰＣＩカード１」、「ＰＣＩカード２」、「ＰＣＩカード３」および「ＰＣＩカード４」の各項目を有する。「パターン番号」には、テストパターンを特定する番号が保持される。「パターン物理メモリ」には、「パターン番号」で特定されるテストパターンでメモリダンプの対象となるメモリの容量が保持される。「ＰＣＩカード１」、「ＰＣＩカード２」、「ＰＣＩカード３」および「ＰＣＩカード４」には、それぞれのＰＣＩカードに接続されたダンプＨＤＤ３１の情報が保持される。「状態」欄には、「ＦＲＥＥ」または「ＥＮＤ」の情報が保持される。「ＦＲＥＥ」はダンプファイルの出力先として指定可能な状態を示し、「ＥＮＤ」はダンプファイルの出力先として指定不可の状態を示す。指定不可の状態とは、例えば、ダンプＨＤＤ３１の容量を使い切った場合である。例えば、「パターン番号」が「１」の場合、メモリダンプの対象となるメモリの容量は１２８ＧＢであることがわかる。さらに、ＨＤＤ割当テーブル３３３には、各テストパターン毎にダンプファイルの出力先として各ダンプＨＤＤ３１に割り当てられる割当容量が保持される。
【００４４】
テストパターンテーブル２３０は、試験装置２０から送信されたテストパターンテーブル２３０が被試験装置３０の主記憶部１０２上に記憶されたテーブルである。テストパターンテーブル２３０の内容は、試験装置２０のテストパターンテーブル２３０と同様であるため、詳細な説明は省略する。
【００４５】
ダンプ出力時間推測テーブル２２０は、試験装置２０から送信されたダンプ出力時間推測テーブル２２０が被試験装置３０の主記憶部１０２上に記憶されたテーブルである。ダンプ出力時間推測テーブル２２０の内容は、試験装置２０のダンプ出力時間推測テーブル２２０と同様であるため、詳細な説明は省略する。
【００４６】
＜ダンプＨＤＤ３１への割当容量の決定処理＞
図１２〜図１５は、各テストパターン毎に割当容量が登録されたＨＤＤ割当テーブル３３３の一例を示す図である。図１２〜図１５を参照して、デバイス管理部３２１によるダンプＨＤＤ３１への割当容量を決定する処理について説明する。各テストパターンにおいて各ダンプＨＤＤ３１に割り当てられる割当容量は、デバイス管理部３２１によって決定される。デバイス管理部３２１は、各ダンプＨＤＤ３１のスループットに基づいて割当容量を決定する。すなわち、デバイス管理部３２１は、スループットの高いダンプＨＤＤ３１に対しては多く割当容量を割り当て、スループットの低いダンプＨＤＤ３１に対しては少なく割当容量を割り当てる。デバイス管理部３２１は、例えば、以下の式（１）および式（２）によって割当容量を決定する。
【００４７】
（割当比率）＝（割当容量を決定するダンプＨＤＤ３１のスループット）／（被試験装置３０に接続されたダンプＨＤＤ３１のスループットの合計値）・・・式（１）
（割当容量）＝（メモリダンプの対象となるメモリ容量）×（割当容量を決定するダンプＨＤＤ３１の割当比率）・・・式（２）
【００４８】
例えば、図１０に例示されるＩＯテーブル３３２を参照すると、ＰＣＩカード１に接続されたＨＤＤのスループットは１００ＭＢ／ｓである。また、被試験装置３０に接続されたダンプＨＤＤ３１のスループットの合計値は、（１００＋５０＋２０＋１０）＝１８０ＭＢ／ｓである。そのため、ＰＣＩカード１に接続されたダンプＨＤＤ３１ａへの割当比率は、式（１）によって、０．５６となる。式（１）によって決定された割当比率にしたがって、テストパターン１の場合のダンプＨＤＤ３１ａの割当容量を式（２）を用いて算出する。図８に例示されるテストパターンテーブル２３０を参照すると、テストパターン１におけるメモリダンプの対象となるメモリ容量は１２８ＧＢである。ここで、式（１）
によって算出した割当比率とメモリダンプの対象となるメモリ容量１２８ＧＢを式（２）に適用すると、ダンプＨＤＤ３１ａへの割当容量は７２ＧＢと決定される。同様に、ＰＣＩカード２に接続されたダンプＨＤＤ３１ｂへの割当容量は３６ＧＢ、ＰＣＩカード３に接続されたダンプＨＤＤ３１ｃへの割当容量は１５ＧＢ、ＰＣＩカード４に接続されたダンプＨＤＤ３１ｄへの割当容量は８ＧＢと算出される。図１２は、図１１に例示されるＨＤＤ割当テーブル３３３に対してテストパターン１の割当容量を追記した図の一例である。
【００４９】
図１３は、テストパターン２について割当容量を算出したＨＤＤ割当テーブル３３３の一例を示す図である。テストパターン１と同様に各ダンプＨＤＤ３１について割当容量を算出すると、ＰＣＩカード２に接続されたダンプＨＤＤ３１ｂの割当容量が残容量を超えてしまう。そこで、デバイス管理部３２１は、まず、ダンプＨＤＤ３１ｂに割り当てられた１４２ＧＢのうち確保可能な６４ＧＢをダンプＨＤＤ３１ｂに割り当てる。ダンプＨＤＤ３１ｂで確保できた６４ＧＢは、ダンプＨＤＤ３１ｂに割り当てられた１４２ＧＢの４５％に相当する容量である。ここで、ダンプＨＤＤ３１ｂに対して６４ＧＢ出力した段階における、他のダンプＨＤＤ３１に出力されたダンプファイルの容量を算出する。ダンプＨＤＤ３１ａでは割り当てられた２８５ＧＢの４５％で１２８ＧＢ、ダンプＨＤＤ３１ｃでは割り当てられた５９ＧＢの４５％で２６ＧＢ、ダンプＨＤＤ３１ｄでは割り当てられた２６ＧＢの４５％で１１ＧＢが出力されている。そのため、この段階で出力されたダンプファイルの容量は、（１２８ＧＢ＋６４ＧＢ＋２６ＧＢ＋１１ＧＢ）＝２２９ＧＢである。パターン２のメモリダンプの対象となるメモリ容量５１２ＧＢであるため、この段階ではメモリダンプの対象として２８３ＧＢが残っている。この２８３ＧＢを残容量が無くなったダンプＨＤＤ３１ｂ以外のダンプＨＤＤ３１ａ、３１ｃ、３１ｄに再割り当てする。再割り当てでは、メモリダンプの対象として残っている２８３ＧＢを上記式（１）および（２）にしたがって各ダンプＨＤＤ３１ａ、３１ｃ、３１ｄに割り当てる。また、残容量が無くなったダンプＨＤＤ３１ｂには、ＥＮＤフラグをオンにする。図１４は、テストパターン２までの割当容量の決定がなされたＨＤＤ割当テーブル３３３の一例を示す図である。
【００５０】
図１５は、テストパターン３および４についても割当容量を決定したＨＤＤ割当テーブル３３３の一例を示す図である。図１５に例示されるＨＤＤ割当テーブル３３３には、以上で説明した手順により、各ダンプＨＤＤ３１に割り当てられた割当容量が保持されている。
【００５１】
＜ＲＡＩＤ管理部３２２の処理＞
図１６は、ＲＡＩＤ管理部３２２がＨＤＤ割当テーブル３３３にしたがって複数のダンプＨＤＤ３１を組み合わせて１つのダンプデバイス３３を作成するフローの一例を示す図である。図１６において、各ダンプＨＤＤ３１の黒く塗られた領域は、ＨＤＤ割当テーブル３３３によって示される各ダンプＨＤＤ３１の割当容量の領域であるとする。ＲＡＩＤ管理部３２２は、ＨＤＤ割当テーブル３３３を参照して各ダンプＨＤＤ３１の割当容量を取得する。ＲＡＩＤ管理部３２２は、取得した容量の領域をＲＡＩＤ０のストライピングによって組み合わせて一つのダンプデバイス３３を作成する。業務ＯＳ３４０は、ＲＡＩＤ管理部３２２によって作成されたダンプデバイス３３をＵＥＦＩが提供するインターフェースを介して認識する。業務ＯＳ３４０でカーネルパニックに例示されるエラーが発生した場合、被試験装置３０ではダンプＯＳ３４１が起動し、ダンプＯＳ３４１はメモリダンプを行う。メモリダンプによって出力されるダンプファイルは、ダンプデバイス３３に出力される。上述の通り、ダンプデバイス３３は、各ダンプＨＤＤ３１から集められた領域をストライピングによって組み合わせたデバイスである。そのため、ダンプデバイス３３へのダンプファイルの出力は、各ダンプＨＤＤ３１に対して並列に出力されることになる。
【００５２】
＜ＣＰＵ監視部３２３の処理＞
図１７は、ＣＰＵ監視部３２３によるＣＰＵ監視フローの一例を示す図である。以下、図１７を参照して、ＣＰＵ監視部３２３によるＣＰＵ監視フローの一例について説明する。
【００５３】
Ｋ１では、ＣＰＵ監視部３２３は、予備ＣＰＵ１０１ｄが存在するか否かを判定する。予備ＣＰＵ１０１ｄが存在する場合（Ｋ１でＹＥＳ）、処理はＫ２に進められる。予備ＣＰＵ１０１ｄが存在しない場合（Ｋ１でＮＯ）、Ｋ１の処理が繰り返される。
【００５４】
Ｋ２では、ＣＰＵ監視部３２３は、ＣＰＵ１０１の温度を計測する。ＣＰＵ監視部３２３は、例えば、被試験装置３０に設けられた温度センサーからＣＰＵ１０１の温度を受信してもよい。
【００５５】
Ｋ３では、ＣＰＵ監視部３２３は、閾値以上の温度となっているＣＰＵ１０１が存在するか否かを判定する。閾値は、例えば、ＣＰＵ１０１が正常に稼働できる温度範囲を基に決定される。閾値以上の温度となっているＣＰＵ１０１が存在する場合（Ｋ３でＹＥＳ）、処理はＫ４に進められる。閾値以上の温度となっているＣＰＵ１０１が存在しない場合（Ｋ３でＮＯ）、処理はＫ１に進められる。
【００５６】
Ｋ４では、ＣＰＵ監視部３２３は、閾値以上の温度となっているＣＰＵ１０１の数が２以上であるか否かを判定する。２以上である場合（Ｋ４でＹＥＳ）、処理はＫ５に進められる。２未満の場合（Ｋ４でＮＯ）、処理はＫ６に進められる。
【００５７】
Ｋ５では、ＣＰＵ監視部３２３は、閾値以上の温度となっているＣＰＵ１０１のうち、最も閾値との温度差の大きいＣＰＵ１０１をダンプＯＳ３４１に通知する。換言すれば、ＣＰＵ監視部３２３は、閾値以上の温度となっているＣＰＵ１０１のうち、最も温度の高いＣＰＵ１０１をダンプＯＳ３４１に通知する。
【００５８】
Ｋ６では、ＣＰＵ監視部３２３は、メモリダンプの実行に割り当てられるＣＰＵ１０１に予備ＣＰＵ１０１ｄを追加する。
【００５９】
＜メモリダンプ評価システム１の処理の概要＞
図１８は、第１実施形態に係るメモリダンプ評価システム１の処理の概略の一例を示す図である。以下、図１８を参照して、第１実施形態に係るメモリダンプ評価システム１の処理の概略の一例について説明する。
【００６０】
ＯＰ１では、試験装置２０は、操作端末１０からダンプファイル評価試験開始の指示を受ける。試験装置２０のスループット取得指示部２１２は、被試験装置３０に対して、被試験装置３０に接続されたダンプＨＤＤ３１のスループットを取得するように指示する。被試験装置３０のデバイス管理部３２１は、接続されたダンプＨＤＤ３１のスループットを取得する。スループットの取得には、例えば、hdparmコマンドが利用される。
【００６１】
ＯＰ２では、試験装置２０のダンプデバイス作成部２１３は、テストパターンテーブル２３０を被試験装置３０に送信する。被試験装置３０は、試験装置２０から受信したテストパターンテーブル２３０を主記憶部１０２に記憶する。被試験装置３０のデバイス管理部３２１は、ＯＰ１で取得した各ダンプＨＤＤ３１のスループットをＨＤＤ割当テーブル３３３に登録する。さらに、デバイス管理部３２１は、各ダンプＨＤＤ３１のスループット、各ダンプＨＤＤ３１の記憶容量および試験装置２０から送信されたテストパターンテーブル２３０の情報に基づいて、各ダンプＨＤＤ３１への割当容量を決定する。決定した
割当容量は、ＨＤＤ割当テーブル３３３に登録される。
【００６２】
ＯＰ３では、被試験装置３０のＲＡＩＤ管理部３２２は、ＯＰ２でＨＤＤ割当テーブル３３３に登録された情報を基に、ダンプデバイス３３を作成する。ダンプデバイス３３の作成は、例えば、図１６に基づいて説明した方法にしたがって実行される。作成されたダンプデバイス３３は、ダンプファイルの出力先として、業務ＯＳ３４０に認識される。業務ＯＳ３４０への認識は、例えば、ダンプデバイス３３を業務ＯＳ３４０にマウントすることで実現される。
【００６３】
ＯＰ４では、ダンプファイルを出力させるため、業務ＯＳ３４０に疑似的なエラーを発生させる。疑似的なエラーは、例えば、カーネルパニックである。ＯＰ５では、被試験装置３０のダンプ実行部３３１は、メモリダンプを実行する。メモリダンプによって出力されるダンプファイルは、ＯＰ３で作成されたダンプデバイス３３に出力される。
【００６４】
ＯＰ６では、ＲＡＩＤ管理部３２２は、ＯＰ３で業務ＯＳ３４０にマウントされたダンプデバイス３３を開放する。ダンプデバイス３３の開放は、例えば、ダンプデバイス３３のアンマウントによって行われる。
【００６５】
ＯＰ７では、試験装置２０の被試験装置制御部２１１は、未実施のテストパターンがあるか否かを判定する。未実施のテストパターンがある場合（ＯＰ７で有）、処理はＯＰ１に進められて未実施のテストパターンが実施される。未実施のテストパターンが無い場合（ＯＰ７で無）、処理は終了される。
【００６６】
＜処理シーケンス概略＞
図１９は、第１実施形態に係るメモリダンプ評価システム１の処理シーケンスの概略を示す図である。以下、図１９を参照して、メモリダンプ評価システム１の処理シーケンスの概略について説明する。
【００６７】
ＯＰ１１では、試験装置２０の被試験装置制御部２１１は、被試験装置３０の電源投入を指示する。ＯＰ１２では、被試験装置３０のデバイス管理部３２１は、被試験装置３０に接続された各ダンプＨＤＤ３１の容量を取得する。デバイス管理部３２１は、取得した各ダンプＨＤＤ３１の容量をＩＯテーブル３３２に登録する。
【００６８】
ＯＰ１３では、被試験装置３０のデバイス管理部３２１は、ＩＯテーブル３３２に登録された各ダンプＨＤＤ３１について、スループットを取得する。デバイス管理部３２１は、取得した各ダンプＨＤＤ３１のスループットをＩＯテーブル３３２に登録する。ＩＯテーブル３３２へのスループットの登録後、被試験装置３０は再起動される。
【００６９】
ＯＰ１４では、デバイス管理部３２１は、ＩＯテーブル３３２、テストパターンテーブル２３０およびＨＤＤ割当テーブル３３３を参照して、ダンプファイルの出力先として使用する領域の容量をダンプＨＤＤ３１毎に決定する。ダンプファイルの出力先として使用する領域の容量の決定は、図１２〜図１５に基づいて説明された方法によればよい。デバイス管理部３２１は、算出した割当容量をＨＤＤ割当テーブル３３３に登録する。ＯＰ１４の処理は、被試験装置３０の起動後であって業務ＯＳ３４０の起動前のタイミングで実行される。
【００７０】
ＯＰ１５では、被試験装置３０において、業務ＯＳ３４０が起動される。ＯＰ１６では、起動された業務ＯＳ３４０は、ＵＥＦＩのインターフェースを介してＲＡＩＤ管理部３２２に対し、ダンプデバイス３３の初期化を指示する。ＲＡＩＤ管理部３２２は、ＨＤＤ割当テーブル３３３を参照して、各ダンプＨＤＤ３１から割当容量分の領域を抽出する。
ＲＡＩＤ管理部３２２は、抽出した領域を組み合わせてひとつのダンプデバイス３３を作成する。業務ＯＳ３４０は、作成されたダンプデバイス３３をマウントすることで、ダンプファイルの出力先として認識する。業務ＯＳ３４０は、例えば、認識したダンプデバイス３３上にファイルシステムを構築することで、ダンプデバイス３３の初期化を行う。
【００７１】
ＯＰ１７では、ダンプファイルを出力させるため、被試験装置３０上で疑似エラーが発生される。疑似エラーが発生すると、ダンプサービスによって処理は業務ＯＳ３４０からダンプＯＳ３４１に引き継がれる。
【００７２】
ＯＰ１８では、ダンプＯＳ３４１によって例示されるダンプ実行部３３１は、テストパターンテーブル２３０によって指定された条件にしたがって、メモリダンプを実行する。メモリダンプの実行によって、ダンプファイルがダンプデバイス３３に出力される。ＯＰ１９では、メモリダンプ終了後、被試験装置３０は再起動される。被試験装置３０が再起動されると、業務ＯＳ３４０が起動される。
【００７３】
ＯＰ２０では、メモリダンプによって出力されたダンプファイルが正当であるか否かの確認が行われる。ダンプファイルの確認は、例えば、業務ＯＳ３４０に実装されたcrash
コマンドによって行われる。
【００７４】
ＯＰ２１では、業務ＯＳ３４０が停止される。ＯＰ２２では、業務ＯＳ３４０の停止後、ＢＩＯＳ３１０のデバイス管理部３２１は、終了したテストパターンの情報をＨＤＤ割当テーブル３３３から削除する。すなわち、終了したテストパターンで使用されていた各ダンプＨＤＤ３１の領域は、未使用の状態となる。ＯＰ２３では、デバイス管理部３２１は、ＨＤＤ割当テーブル３３３を参照して、未実施のテストパターンがあるか否かを判定する。未実施のテストパターンがある場合（ＯＰ２３で有）、処理はＯＰ１４に進められる。未実施のテストパターンが無い場合（ＯＰ２３で無）、処理は終了される。
【００７５】
以上で第１実施形態に係るメモリダンプ評価システム１の処理の概略について説明した。以下では、メモリダンプ評価システム１に含まれる試験装置２０および被試験装置３０各々の処理フローの詳細について図面を参照して説明する。
【００７６】
＜試験装置２０の処理フロー詳細＞
図２０〜図２３は、試験装置２０の処理フローの詳細の一例を示す図である。図２０の「Ａ１」は図２１の「Ａ１」に、図２０の「Ａ２」は図２３の「Ａ２」に接続する。図２１の「Ａ３」は図２２の「Ａ３」に、図２１の「Ａ４」は図２２の「Ａ４」に接続する。図２２の「Ａ５」は図２３の「Ａ５」に、図２２の「Ａ６」は図２３の「Ａ６」に接続する。以下、図２０〜図２３を参照して、試験装置２０の処理フローの詳細の一例について説明する。
【００７７】
ＯＰ１０１では、試験装置２０は、操作端末１０からの試験開始の指示を受け付ける。試験装置２０の被試験装置制御部２１１は、被試験装置３０に対して電源投入を指示する。ＯＰ１０２では、被試験装置制御部２１１は、ハードウェアの診断結果として被試験装置３０からPower On Self Test（ＰＯＳＴ）の結果を受信する。ＰＯＳＴの結果が良好な場合（ＯＰ１０３でＹＥＳ）、処理はＯＰ１０４に進められる。ＰＯＳＴの結果が良好ではない場合（ＯＰ１０３でＮＯ）、試験は終了される（ＯＰ１３１）。
【００７８】
ＯＰ１０４では、被試験装置制御部２１１は、被試験装置３０における業務ＯＳ３４０の起動を待機する。業務ＯＳ３４０が正常に起動した場合（ＯＰ１０５でＹＥＳ）、処理はＯＰ１０６に進められる。業務ＯＳ３４０が正常には起動しなかった場合（ＯＰ１０５でＮＯ）、試験は終了される（ＯＰ１３１）。
【００７９】
ＯＰ１０６では、ダンプデバイス作成部２１３は、スループット取得用デバイスの準備を被試験装置３０に対して指示する。スループット取得用デバイスは、ファイルシステムが構築された各ダンプＨＤＤ３１によって例示される。ＯＰ１０７では、ダンプデバイス作成部２１３は、被試験装置３０からスループット取得用デバイスが正常に作成できたか否かの通知を受信する。正常に作成できた場合（ＯＰ１０７でＹＥＳ）、処理はＯＰ１０８に進められる。正常に作成できなかった場合（ＯＰ１０７でＮＯ）、試験は終了される（ＯＰ１３１）。
【００８０】
ＯＰ１０８では、スループット取得指示部２１２は、被試験装置３０に対して、被試験装置３０に接続された各ダンプＨＤＤ３１についてのスループットの取得を指示する。スループットを取得できたダンプＨＤＤ３１が２台以上の場合（ＯＰ１０９でＹＥＳ）、処理は、ＯＰ１１０に進められる。正常にスループットを取得できたダンプＨＤＤ３１が２台未満の場合（ＯＰ１０９でＮＯ）、試験は終了される（ＯＰ１３１）。
【００８１】
ＯＰ１１０では、被試験装置制御部２１１は、被試験装置３０に対して電源オフを指示する。ＯＰ１１１では、試験装置２０は、操作端末１０からの指示に基づいて、テストパターンテーブル２３０を作成する。テストパターンテーブル２３０では、図８に例示されるように、メモリダンプによって出力されるダンプファイルの保存場所の指定、メモリダンプの対象となるメモリ容量、メモリダンプの対象となるメモリの範囲、およびダンプファイルに対する圧縮の有無がテストパターン毎に指定される。
【００８２】
ＯＰ１１２では、被試験装置制御部２１１は、被試験装置３０に対し、電源投入を指示する。この際、被試験装置制御部２１１は、被試験装置３０で起動されるＯＳとして、業務ＯＳ３４０が起動されるように指定する。被試験装置制御部２１１は、ダンプ出力時間推測テーブル２２０とＯＰ１１１で作成したテストパターンテーブル２３０とを被試験装置３０に送信する。ダンプ出力時間推測テーブル２２０とテストパターンテーブル２３０とを受信した被試験装置３０では、テストパターンの実行順が決定される。被試験装置３０は、決定したテストパターンの実行順を試験装置２０に通知する。
【００８３】
ＯＰ１１３では、被試験装置制御部２１１は、被試験装置３０が決定したテストパターンの実行順を受信する。さらに、被試験装置制御部２１１は、被試験装置３０に対し、業務ＯＳ３４０の起動を指示する。ＯＰ１１４では、被試験装置制御部２１１は、被試験装置３０において業務ＯＳ３４０が正常に起動したか否かを判定する。正常に起動した場合（ＯＰ１１４でＹＥＳ）、処理はＯＰ１１５に進められる。正常に起動しなかった場合（ＯＰ１１４でＮＯ）、処理はＯＰ１３２に進められる。
【００８４】
ＯＰ１１５では、ダンプデバイス作成部２１３は、被試験装置３０に対し、ダンプデバイス３３の初期化を指示する。ダンプデバイス３３の初期化は、例えば、被試験装置３０のＲＡＩＤ管理部３２２によって実行される。
【００８５】
ＯＰ１１６では、ダンプデバイス作成部２１３は、被試験装置３０からダンプデバイス３３が正常に初期化されたか否かの通知を受信する。正常に初期化された場合（ＯＰ１１６でＹＥＳ）、処理はＯＰ１１７に進められる。正常に初期化されなかった場合（ＯＰ１１６でＮＯ）、処理はＯＰ１３２に進められる。
【００８６】
ＯＰ１１７では、被試験装置制御部２１１は、被試験装置３０に対し、ＯＰ１１５で初期化されたダンプデバイス３３を認識させる。ＯＰ１１７では、被試験装置制御部２１１は、例えば、被試験装置３０に対し、業務ＯＳ３４０上で稼働するダンプサービスのリスタートを指示する。リスタートされることで、ダンプサービスはダンプデバイス３３を認
識可能となる。
【００８７】
ＯＰ１１８では、被試験装置制御部２１１は、被試験装置３０からダンプサービスのリスタートが正常に完了したか否かの通知を受信する。正常に完了した場合（ＯＰ１１８でＹＥＳ）、処理はＯＰ１１９に進められる。正常に完了しなかった場合（ＯＰ１１８でＮＯ）、処理はＯＰ１３２に進められる。
【００８８】
ＯＰ１１９では、被試験装置制御部２１１は、被試験装置３０に対し、メモリダンプの取得を指示する。実行しているテストパターンが１回目に実行されるテストパターンである場合（ＯＰ１２０でＹＥＳ）、処理はＯＰ１２１に進められる。実行しているテストパターンが２回目以降に実行されるテストパターンである場合（ＯＰ１２０でＮＯ）、処理はＯＰ１２２に進められる。
【００８９】
ＯＰ１２１では、被試験装置制御部２１１は、被試験装置３０に対して、ＣＰＵ１０１の監視開始を指示する。被試験装置３０で実行されるＣＰＵ１０１の監視は、例えば、図１７によって例示される処理である。全てのテストパターンの実行が完了した場合（ＯＰ１２２でＹＥＳ）、処理はＯＰ１２３に進められる。未実行のテストパターンがある場合（ＯＰ１２２でＮＯ）、処理はＯＰ１２４に進められる。ＯＰ１２３では、被試験装置制御部２１１は、被試験装置３０に対し、ＣＰＵ１０１の監視を終了するよう指示する。
【００９０】
メモリダンプ取得時のパラメータにおいて再起動が指定されている場合（ＯＰ１２４でＹＥＳ）、処理はＯＰ１２６に進められる。メモリダンプ取得時のパラメータにおいて再起動が指定されていない場合（ＯＰ１２４でＮＯ）、処理はＯＰ１２５に進められる。
【００９１】
ＯＰ１２５では、被試験装置制御部２１１は、メモリダンプの取得が終了して電源オフになっている被試験装置３０に対して、電源オンを指示する。被試験装置３０において業務ＯＳ３４０が正常に起動した場合（ＯＰ１２６でＹＥＳ）、処理はＯＰ１２７に進められる。被試験装置３０において業務ＯＳ３４０が正常に起動しなかった場合（ＯＰ１２６でＮＯ）、処理はＯＰ１２９に進められる。
【００９２】
ＯＰ１２７では、ダンプファイル確認部２１４は、被試験装置３０に対して、メモリダンプによって出力されたダンプファイルの正当性確認を指示する。ダンプファイル確認部２１４は、被試験装置３０から確認結果を受信する。ダンプファイルが正当である場合（ＯＰ１２８でＹＥＳ）、処理はＯＰ１２９に進められる。ダンプファイルが正当ではない場合（ＯＰ１２８でＮＯ）、処理はＯＰ１３２に進められる。
【００９３】
ＯＰ１２９では、被試験装置制御部２１１は、被試験装置３０に対し、業務ＯＳ３４０の停止を指示する。ＯＰ１３０では、被試験装置制御部２１１は、被試験装置３０に対し、テストパターンの終了を通知する。ＯＰ１３１では、被試験装置制御部２１１は、テストパターンの終了を操作端末１０に通知する。ＯＰ１３２では、被試験装置制御部２１１は、業務ＯＳ３４０のログ収集を指示する。
【００９４】
＜被試験装置３０の処理フロー詳細＞
図２４〜図２９は、被試験装置３０の処理フローの詳細の一例を示す図である。図２４の「Ｂ１」は、図２５の「Ｂ１」に接続する。図２４の「Ｂ２」は、図２５の「Ｂ２」に接続する。図２５の「Ｂ３」は、図２６の「Ｂ３」に接続する。図２５の「Ｂ４」は、図２９の「Ｂ４」に接続する。図２６の「Ｂ５」は、図２７の「Ｂ５」に接続する。図２６の「Ｂ６」は、図２７の「Ｂ６」に接続する。図２７の「Ｂ７」は、図２８の「Ｂ７」に接続する。図２７の「Ｂ８」は、図２９の「Ｂ８」に接続する。図２８の「Ｂ９」は、図２９の「Ｂ９」に接続する。図２８の「Ｂ１０」は、図２９の「Ｂ１０」に接続する。図
２９の「Ｂ１１」は、図２６の「Ｂ１１」に接続する。以下、図２４〜図２９を参照して、被試験装置３０の処理フローの詳細の一例について説明する。
【００９５】
ＯＰ２０１では、被試験装置３０では、試験装置２０の被試験装置制御部２１１からの指示に応じて電源が投入される。電源が投入された被試験装置３０では、業務ＯＳ３４０が起動される。ＯＰ２０１では、デバイス管理部３２１は、被試験装置３０に接続された各ダンプＨＤＤ３１の容量を確認する。確認した容量はＩＯテーブル３３２に記憶される。ＯＰ２０２の処理は、例えば、図１９のＯＰ１２の処理に対応する。
【００９６】
ＯＰ２０３では、業務ＯＳ３４０からスループット取得用ＯＳ３４２へ制御が移行される。すなわち、被試験装置３０では、業務ＯＳ３４０が終了し、スループット取得用ＯＳ３４２が起動される。スループット取得用ＯＳ３４２が正常に起動した場合（ＯＰ２０４でＹＥＳ）、処理はＯＰ２０５に進められる。スループット取得用ＯＳ３４２が正常に起動しなかった場合（ＯＰ２０４でＮＯ）、処理はＯＰ２４３に進められる。すなわち、スループット取得用ＯＳ３４２が正常に起動しなかった場合、試験終了（ＯＰ２４３）となる。
【００９７】
ＯＰ２０５では、デバイス管理部３２１は、各ダンプＨＤＤ３１上にパーティションを作成し、ファイルシステムを構築する。ファイルシステムの構築は、例えば、ファイルシステムを指定して作成したパーティションを初期化することで行われる。ファイルシステムの構築に成功した場合（ＯＰ２０６でＹＥＳ）、処理はＯＰ２０８に進められる。一部のダンプＨＤＤ３１で失敗したものの成功したダンプＨＤＤ３１の数が２台以上の場合（ＯＰ２０６でＮＯ１）、処理はＯＰ２０７に進められる。成功したダンプＨＤＤ３１の数が２台未満の場合（ＯＰ２０６でＮＯ２）、処理はＯＰ２４３に進められる。すなわち、成功したダンプＨＤＤ３１の数が２台未満の場合、試験は終了される（ＯＰ２４３）。
【００９８】
ＯＰ２０７では、デバイス管理部３２１は、ファイルシステム構築に失敗したダンプＨＤＤ３１をＩＯテーブル３３２から削除する。ＯＰ２０８では、デバイス管理部３２１は、ＩＯテーブル３３２に登録されているダンプＨＤＤ３１に対して、スループットの取得を行う。
【００９９】
スループット取得に成功した場合（ＯＰ２０９でＹＥＳ）、処理はＯＰ２１１に進められる。一部のダンプＨＤＤ３１で失敗したものの成功したダンプＨＤＤ３１の数が２台以上の場合（ＯＰ２０９でＮＯ１）、処理はＯＰ２１０に進められる。成功したダンプＨＤＤ３１の数が２台未満の場合（ＯＰ２０９でＮＯ２）、処理はＯＰ２４３に進められる。すなわち、成功したダンプＨＤＤ３１の数が２台未満の場合、試験は終了される（ＯＰ２４３）。
【０１００】
ＯＰ２１０では、デバイス管理部３２１は、スループットを取得できなかったダンプＨＤＤ３１をＩＯテーブル３３２から削除する。ＯＰ２１１では、デバイス管理部３２１は、取得したスループットをＩＯテーブル３３２に登録する。ＯＰ２０３〜ＯＰ２１１までの処理は、例えば、図１９のＯＰ１３の処理に対応する。ＯＰ２０９〜ＯＰ２１１の処理は、「前記測定部が書き込み速度を測定できた記憶装置の数が２台以上の場合に、書き込み速度を測定できた記憶装置を対象として前記領域各々の容量を割り当てる処理を実行」する処理の一例である。
【０１０１】
ＯＰ２１２では、スループット取得を終えた被試験装置３０では、スループット取得用ＯＳ３４２が終了し、業務ＯＳ３４０が起動する。ＯＰ２１３では、被試験装置３０は、試験装置２０から送信されたテストパターンテーブル２３０およびダンプ出力時間推測テーブル２２０を主記憶部１０２に記憶する。ＯＰ２１４では、デバイス管理部３２１は、
ＨＤＤ割当テーブル３３３を作成する。ＯＰ２１４の段階では、デバイス管理部３２１は、各テストパターンでダンプ対象となるメモリ容量をＨＤＤ割当テーブル３３３に登録する。ここで、容量を使い切ったダンプＨＤＤ３１が存在する場合、ＨＤＤ割当テーブル３３３において当該ダンプＨＤＤ３１についてのＥＮＤフラグをオンにする。
【０１０２】
ＯＰ２１５では、デバイス管理部３２１は、ＩＯテーブル３３２に登録された各ダンプＨＤＤ３１の容量およびＨＤＤ割当テーブル３３３に登録された各ダンプＨＤＤ３１のダンプデバイス３３として使用する容量とを参照して、各ダンプＨＤＤ３１の空き容量を取得する。
【０１０３】
ＯＰ２１６では、デバイス管理部３２１は、上述の式（１）、式（２）、ダンプテーブル２２１および圧縮ダンプテーブル２２２に基づいて、テストパターンテーブル２３０に保持されたひとつのテストパターンについてダンプＨＤＤ３１の割当容量を決定する。例えば、テストパターン１の場合、図８を参照すると、物理メモリは１２８ＧＢである。テストパターン１では、部分ダンプとして「１７」、圧縮ダンプとして「snappy」が指定されている。図５を参照すると、部分ダンプ「１７」の相対係数は「１／２」である。そのため、ダンプファイルのファイルサイズは部分ダンプによって「６４ＧＢ×１／２」で３２ＧＢとなる。さらに、図７を参照すると、圧縮ダンプ「snappy」の相対係数は「１．１」である。そのため、ダンプファイルのファイルサイズは「snappy」による圧縮によって「３２ＧＢ／１．１」で２９．０ＧＢと算出できる。デバイス管理部３２１は、算出した２９．０ＧＢを上述の式（１）および式（２）に適用することで、ダンプＨＤＤ３１の割当容量を決定できる。ＯＰ２１６の処理は、「前記ダンプ処理の対象となるメモリ領域が前記特定する情報によって指定されると、前記ダンプテーブルを参照して出力されるダンプデータの容量を決定し、決定した容量が確保できるように前記領域各々の容量を割り当てる」処理の一例である。また、ＯＰ２１６の処理は、「前記ダンプデータに対する圧縮方式が指定されると、前記圧縮ダンプテーブルを参照して指定された圧縮方式に対応付けられた圧縮率を基にダンプデータの容量を決定し、決定した容量が確保できるように前記領域各々の容量を割り当てる」処理の一例でもある。
【０１０４】
ＯＰ２１７では、デバイス管理部３２１は、ＯＰ２１６で決定した各ダンプＨＤＤ３１の割当容量に基づいて、ＨＤＤ割当テーブル３３３を更新する。全てのテストパターンについてダンプＨＤＤ３１の割当容量が決定された場合（ＯＰ２１８でＹＥＳ）、処理はＯＰ２１９に進められる。まだダンプＨＤＤ３１の割当容量が決定されていないテストパターンがある場合（ＯＰ２１８でＮＯ）、処理はＯＰ２１５に進められる。ＯＰ２１４〜ＯＰ２１８の処理は、例えば、図１９のＯＰ１４の処理に対応する。
【０１０５】
ＯＰ２１９では、デバイス管理部３２１は、ダンプ出力時間推測テーブル２２０を参照して、各テストパターンについてダンプファイルが出力される時間を推測する。ＯＰ２２０では、デバイス管理部３２１は、テストパターンの実行順序を決定する。実行順序は、例えば、ＯＰ２１９で推測されたダンプ出力時間が長いテストパターンから実行されるように決定される。デバイス管理部３２１は、決定したテストパターンの実行順序を試験装置２０に通知する。
【０１０６】
ＯＰ２２１では、被試験装置３０は、試験装置２０からの指示にしたがい、業務ＯＳ３４０を再起動する。試験装置２０からの指示には、実施するテストパターンで使用するダンプＨＤＤ３１の指定が含まれる。そのため、ＯＰ２２１では、指定されたダンプＨＤＤ３１が業務ＯＳ３４０から認識できる状態で業務ＯＳ３４０が再起動される。業務ＯＳ３４０が正常に起動された場合（ＯＰ２２２で成功）、処理はＯＰ２２３に進められる。業務ＯＳ３４０が正常に起動されなかった場合（ＯＰ２２２で失敗）、処理はＯＰ２４４に進められる。
【０１０７】
ＯＰ２２３では、ＲＡＩＤ管理部３２２はダンプデバイス３３の初期化を行う。ＲＡＩＤ管理部３２２は、実施対象となるテストパターンにおける各ダンプＨＤＤ３１の割当容量の領域を組み合わせてひとつのダンプデバイス３３を作成する。ダンプデバイス３３の作成は、例えば、図１６に基づいて説明した方法にしたがって実行される。デバイス管理部３２１は、ＲＡＩＤ管理部３２２が作成したダンプデバイス３３に対してファイルシステムの構築によって例示される初期化を行う。ＯＰ２２３の処理は、「前記領域各々をRedundant Arrays of Independent Disks（ＲＡＩＤ）によって組み合わせてダンプデバイ
スを作成」する処理の一例である。
【０１０８】
ダンプデバイス３３の初期化に成功した場合（ＯＰ２２４でＹＥＳ）、処理はＯＰ２２５に進められる。ダンプデバイス３３の初期化に失敗した場合（ＯＰ２２４でＮＯ）、処理はＯＰ２４４に進められる。
【０１０９】
ＯＰ２２５では、業務ＯＳ３４０上で稼働するダンプサービスがリスタートされる。リスタートされたダンプサービスは、ダンプデバイス３３を認識できる。ＯＰ２２３〜ＯＰ２２５の処理は、例えば、図１９のＯＰ１６の処理に対応する。
【０１１０】
実施対象となるテストパターンが１回目の場合（ＯＰ２２６でＹＥＳ）、処理はＯＰ２２７に進められる。実施対象となるテストパターンが１回目ではない場合（ＯＰ２２６でＮＯ）、処理はＯＰ２２８に進められる。ＯＰ２２７では、ＣＰＵ監視部３２３は、図１７に例示されるＣＰＵ監視フローを開始する。
【０１１１】
ＯＰ２２８では、被試験装置３０は、被試験装置３０の被試験装置制御部２１１から疑似エラーを発生させる指示を受信する。被試験装置３０のダンプ実行部３３１は、疑似エラーを発生させる。ＯＰ２２８の処理は、例えば、図１９のＯＰ１７の処理に対応する。ＯＰ２２９では、疑似エラー発生を契機として、ダンプサービスによって業務ＯＳ３４０が終了し、ダンプＯＳ３４１が起動される。ＯＰ２３０では、ダンプＯＳ３４１によってメモリダンプが実行される。ＯＰ２２９および２３０の処理は、例えば、図１９のＯＰ１８〜ＯＰ１９の処理に対応する。
【０１１２】
最後のテストパターンの場合（ＯＰ２３１でＹＥＳ）、処理はＯＰ２３２に進められる。最後のテストパターンではない場合（ＯＰ２３１でＮＯ）、処理はＯＰ２３３に進められる。
【０１１３】
ＯＰ２３２では、ＣＰＵ監視部３２３によるＣＰＵ監視が終了する。メモリダンプ終了後に再起動を実行するパラメータが指定されていた場合（ＯＰ２３３でＹＥＳ）、処理はＯＰ２３４に進められる。メモリダンプ終了後に再起起動を実行するパラメータが指定されていない場合（ＯＰ２３３でＮＯ）、被試験装置３０の電源はオフにされ、処理はＯＰ２３６に進められる。
【０１１４】
ＯＰ２３４では、業務ＯＳ３４０が起動される。業務ＯＳ３４０が正常に起動された場合（ＯＰ２３５でＹＥＳ）、処理はＯＰ２３７に進められる。業務ＯＳ３４０が正常に起動されなかった場合（ＯＰ２３５でＮＯ）、処理はＯＰ２３９に進められる。ＯＰ２３６では、メモリダンプ後に電源オフにされた被試験装置３０に電源が投入される。
【０１１５】
ＯＰ２３７では、業務ＯＳ３４０は、例えば、crashコマンドを使用してダンプファイ
ルの解析を行う。crashコマンドの出力内容は、例えば、テキストファイルに保存される
。ダンプファイルが正当な場合（ＯＰ２３８でＹＥＳ）、処理はＯＰ２３９に進められる。ダンプファイルが正当ではない場合（ＯＰ２３８でＮＯ）、処理はＯＰ２４４に進めら
れる。ＯＰ２３７〜ＯＰ２３８の処理は、例えば、図１９のＯＰ２０の処理に対応する。
【０１１６】
ＯＰ２３９では、業務ＯＳ３４０が停止される。ＯＰ２４０では、デバイス管理部３２１は、終了したテストパターンにおいてダンプファイルの出力先として使用されたダンプデバイス３３を被試験装置３０から開放する。ダンプデバイス３３の被試験装置３０からの解放は、例えば、ＲＡＩＤ管理部３２２によるダンプＨＤＤ３１の組合わせを解除することによって行われる。
【０１１７】
ＯＰ２４１では、デバイス管理部３２１は、終了したテストパターンの情報をＨＤＤ割当テーブル３３３から削除する。ＯＰ２４１の処理は、例えば、図１９のＯＰ２２の処理に対応する。全テストパターンの試験が終了した場合（ＯＰ２４２でＹＥＳ）、処理はＯＰ２４３に進められる。未実施のテストパターンの試験がある場合（ＯＰ２４２でＮＯ）、処理はＯＰ２１５に進められる。ＯＰ２４２の処理は、例えば、図１９のＯＰ２３の処理に対応する。ＯＰ２４３では、ダンプ評価試験が終了される。ＨＤＤ割当テーブル３３３においてＥＮＤフラグが設定されたダンプＨＤＤ３１が存在する場合、当該ＥＮＤフラグはＦＲＥＥフラグに変更される。ＯＰ２４４では、業務ＯＳ３４０のログ収集が行われる。ログの収集は、例えば、sosreportコマンドによって実行される。
【０１１８】
＜比較例＞
第１実施形態の効果を検証するため、比較例について説明する。第１実施形態では、被試験装置３０に接続されたダンプＨＤＤ３１のスループットを基にして、ダンプファイルの出力先として使用する割当容量が決定された。比較例では、複数のＨＤＤにダンプファイルを出力する際に、ダンプファイルの出力先として各ＨＤＤに割り当てられる容量は、スループットとは無関係に均等に割り当てられる。なお、比較例においても第１実施形態と同様に、複数のＨＤＤに対して並列でダンプファイルが出力される。
【０１１９】
図３０は、比較例に係る各ダンプＨＤＤ３１への割当容量とダンプ取得時間の一例を示す図である。図３０では、ダンプデバイス３３として、スループット２００ＭＢ／ｓの/dev/sda1、スループット１５０ＭＢ／ｓの/dev/sdb1およびスループット１００ＭＢ／ｓの/dev/sdc1の３つのダンプＨＤＤ３１が例示されている。比較例では各ダンプＨＤＤ３１
に均等に割当容量が割り当てられる。そのため、ダンプファイルのファイルサイズを３ＴＢと仮定すると、各ダンプＨＤＤ３１にはダンプファイルの出力先として１ＴＢずつ割り当てられる。比較例では、例えば、ダンプファイルは以下のコマンド１によって出力される。
# makedumpfile -split ＜パラメータ＞ /dev/sda1/dumpflie1 /dev/sdb1/dumpfile2 /dev/sdc1/dumpflie3  ・・・（コマンド１）
【０１２０】
上記コマンド１では、#はプロンプトを示している。makedumpfileはダンプファイルを
出力するコマンドの例示である。makedumpflieコマンドでは、--splitパラメータによっ
てダンプファイルを分割する事ができる。コマンド１では、/dev/sda1/dumpflie1、/dev/sdb1/dumpfile2および/dev/sdc1/dumpflie3の３つのファイルに分割している。
【０１２１】
図３０を参照すると、/dev/sda1のデバイスでは、スループットが２００ＭＢ／ｓであ
るため、１ＴＢのダンプファイルの出力が１．５時間で完了する。一方、/dev/sdc1のデ
バイスでは、スループットが１００ＭＢ／ｓであるため、１ＴＢのダンプファイル出力に３時間かかっている。すなわち、/dev/sda1のデバイスでは、自デバイスにおけるダンプ
出力を終えてから/dev/sdc1のダンプ出力を終えるまで１．５時間の待機時間が発生する
。
【０１２２】
図３１は、第１実施形態に係る各ダンプＨＤＤ３１への割当容量とダンプ取得時間の一
例を示す図である。図３１に例示される各項目の意味は図３０と同様であるため、詳細な説明は省略する。図３１では、図３０に例示された比較例と同じスペックのＨＤＤが被試験装置３０に接続されているものと仮定する。
【０１２３】
第１実施形態では、接続されたダンプＨＤＤ３１のスループットを基にして、割当容量が決定される。そのため、第１実施形態では、図３１を参照すると、/dev/sda1には１，
３５０ＧＢが割り当てられ、/dev/sdb1には１，０００ＧＢが割り当てられ、/dev/sdc1には６５０ＧＢが割り当てられる。第１実施形態では、各ダンプＨＤＤ３１のスループットを考慮して割当容量が決定されるため、各ダンプＨＤＤ３１におけるダンプ取得時間は平均化される。その結果、ダンプファイルの出力が、/dev/sda1および/dev/sdb1では１．９時間、/dev/sdc1では１．８時間で完了する。
【０１２４】
第１実施形態では、スループットを基に割当容量を決定することで、スループットの高いデバイスにより多くの割当容量を割り当てた。そのため、第１実施形態では、比較例よりもスループットの高いデバイスを有効に使用できた。そのため、第１実施形態によれば、比較例によりも短い時間でダンプ出力を完了できる。
【０１２５】
続いて、図８に例示されるパターン番号１〜４の４種類のテストパターンについてメモリダンプを行った場合の、比較例と第１実施形態との比較を行う。図８を参照すると、パターン番号１のテストでは、１２８ＧＢの物理メモリをダンプ対象として、部分ダンプとして「１７」、圧縮ダンプとして「snappy」が指定される。図６に例示されるダンプテーブル２２１および図７に例示される圧縮ダンプテーブル２２２を参照すると、パターン番号１のテストにおいて出力されるダンプファイルのサイズは６４ＧＢと算出される。ここで、圧縮されたファイルのファイルサイズには誤差があるため、安全係数として、１．２を適用する。安全係数を適用すると、パターン番号１のテストで出力されるダンプファイルのファイルサイズは７６．８ＧＢと算出される。図３２は、パターン番号１〜４までの各テストにおいて出力されるダンプファイルのファイルサイズをまとめた表の一例である。図３２によると、安全係数を考慮したダンプファイルの容量は、パターン番号２のテストでは２０４．８ＧＢ、パターン番号３のテストでは５１．２ＧＢ、パターン番号４のテストでは３０７．２ＧＢとなる。
【０１２６】
図３３は、比較例における各テストパターン毎に各ダンプＨＤＤ３１へ割り当てられた割当容量およびダンプファイルの取得時間の一例を示す図である。図３３を参照すると、例えば、パターン番号４では、ＰＣＩカード１、３、４に接続された各々のＨＤＤに対して１０２．４ＧＢが割り当てられ、ＰＣＩカード２に接続されたＨＤＤは容量不足のため割り当てが無い。上述の通り、ダンプファイルは４台のＨＤＤに対して並列で出力されている。そのため、一番遅いＨＤＤに対するダンプファイルの出力が完了するまで、各パターン番号のテストにおけるダンプファイルの出力は完了しない。そのため、各パターン番号のテストにおけるダンプファイルの出力時間は、一番遅いＨＤＤに対するダンプファイルの出力時間に依存する。例えば、パターン番号１のテストのダンプファイル取得時間は、４台のＨＤＤのうち最も遅いスループットであるＰＣＩカード４に接続されたＨＤＤにおける取得時間である０．６時間となる。
【０１２７】
図３４は、第１実施形態における各テストパターン毎に各ダンプＨＤＤ３１へ割り当てられた割当容量およびダンプファイルの取得時間の一例を示す図である。図３４を参照すると、例えば、パターン番号１では、ＰＣＩカード１に接続されたＨＤＤに対して４２．７ＧＢ、ＰＣＩカード２に接続されたＨＤＤに対して２１．３ＧＢ、ＰＣＩカード３に接続されたＨＤＤに対して０．１ＧＢ、ＰＣＩカード４に接続されたＨＤＤに対して０．１ＧＢが割り当てられている。
【０１２８】
図３５は、比較例におけるダンプファイル取得時間を各パターン番号のテストごとにまとめた表の一例である。また、図３６は、第１実施形態におけるダンプファイル取得時間を各パターン番号のテストごとにまとめた表の一例である。図３５を参照すると、比較例では、４種類のテストパターンの合計実行時間は５．８４時間である。また、図３６を参照すると、第１実施形態では、４種類のテストパターンの合計実行時間は、１．３１時間である。第１実施形態では、スループットを基に割当容量を決定したことで、比較例よりも約４．５倍の性能向上が実現された。
【０１２９】
＜第１実施形態の作用効果＞
第１実施形態では、被試験装置３０に接続された各ダンプＨＤＤ３１のスループットを取得した。取得したスループットを基に、よりスループットの高いダンプＨＤＤ３１に多くの割当容量を割り当てた。そのため、第１実施形態によれば、スループットの高いダンプＨＤＤ３１を有効に活用することでダンプファイルを取得する時間を短縮できる。
【０１３０】
第１実施形態では、スループットを取得できなかったダンプＨＤＤ３１をＩＯテーブル３３２から削除した。そのため、第１実施形態では、スループットを取得できたダンプＨＤＤ３１を対象として、スループットを基にした割当容量を決定できる。
【０１３１】
第１実施形態では、スループットを取得できたダンプＨＤＤ３１が２台以上の場合に、スループットを取得できたダンプＨＤＤ３１を対象として割当容量を決定した。そのため、第１実施形態によれば、複数のダンプＨＤＤ３１にダンプファイルを並列して出力できない場合には、ダンプファイルの作成が行われないようにできる。
【０１３２】
第１実施形態では、メモリダンプの対象とするメモリ領域が指定されると、ダンプテーブル２２１を参照して、出力されるダンプファイルのサイズを決定した。第１実施形態では、決定されたダンプファイルのサイズを基に各ダンプＨＤＤ３１に割り当てる割当容量を決定した。そのため、第１実施形態によれば、指定されたメモリダンプの対象とするメモリ領域に適した割当容量が各ダンプＨＤＤ３１に割り当てられる。
【０１３３】
第１実施形態では、ダンプファイルの圧縮方式が指定されると、圧縮ダンプテーブル２２２を参照して、出力されるダンプファイルのサイズを決定した。第１実施形態では、決定されたダンプファイルのサイズを基に各ダンプＨＤＤ３１に割り当てる割当容量を決定した。そのため、第１実施形態によれば、指定された圧縮方式に適した割当容量が各ダンプＨＤＤ３１に割り当てられる。
【０１３４】
第１実施形態では、各ダンプＨＤＤ３１について決定された割当容量の領域をＲＡＩＤ０のストライピングによって組み合わせて一つのダンプデバイス３３を作成した。作成されたダンプデバイス３３は、ＯＳからは１台のＨＤＤとして認識される。そのため、ダンプＯＳ３４１は、ダンプデバイス３３にダンプファイルを出力することで、各ダンプＨＤＤ３１に並列してダンプファイルを出力できる。
【０１３５】
第１実施形態では、パーティションの作成およびファイルシステムの構築が正常に行えなかったダンプＨＤＤ３１をＩＯテーブル３３２から削除した。そのため、第１実施形態によれば、正常に使用できるダンプＨＤＤ３１に対してダンプファイルの出力を行う事ができる。
【０１３６】
第１実施形態では、複数のダンプＨＤＤ３１を組み合わせて作成したダンプデバイス３３の初期化ができなかったとき、業務ＯＳ３４０においてログ取得が行われた。そのため、第１実施形態によれば、ダンプデバイス３３の初期化に失敗した原因の把握が容易になる。
【０１３７】
第１実施形態では、終了したテストパターンの情報がＨＤＤ割当テーブル３３３から削除された（図２９のＯＰ２４１）。その結果、終了したテストパターンで使用されていた各ダンプＨＤＤ３１の領域が、未使用の領域として開放される。未実施のテストパターンの試験がある場合（図２９のＯＰ２４２でＮＯ）、処理は図２６のＯＰ２１５に処理が進められる。図２６のＯＰ２１５からＯＰ２１７の処理によって、未実施のテストパターンで使用されるダンプＨＤＤ３１の割当容量が決定される。そのため、第１実施形態によれば、テストパターン終了により開放されたダンプＨＤＤ３１の領域が、後に実施されるテストパターンによって有効に利用される。
【０１３８】
第１実施形態では、ＣＰＵ監視部３２３がメモリダンプ実行中のＣＰＵ１０１の温度を監視した。ＣＰＵ１０１の温度が閾値以上となった場合、ＣＰＵ監視部３２３はＣＰＵ  ｈｏｔ−ａｄｄ部３３０に対して、メモリダンプの実行に割り当てられるＣＰＵ１０１に予備ＣＰＵ１０１ｄを追加するよう指示する。そのため、第１実施形態によれば、メモリダンプの負荷が高い場合であっても、高温によるＣＰＵ１０１への影響を抑制できる。
【０１３９】
＜第１変形例＞
第１実施形態では、業務ＯＳ３４０およびダンプＯＳ３４１は、ＢＩＯＳ３１０のＵＥＦＩを利用してSoftware RAIDによって作成されたダンプデバイス３３にアクセスした。
しかしながら、ダンプデバイス３３へのアクセスは、ＵＥＦＩを利用したものに限定されない。変形例では、ダンプデバイス３３へのアクセスをＢＩＯＳ３１０に搭載された仮想化支援機能であるHypervisorを利用して実現する。
【０１４０】
図３７は、Software RAIDによって作成されたダンプデバイス３３へのアクセスをHypervisor３３４を利用して実現した第１変形例の一例を示す図である。ＢＩＯＳ３１０上で
稼働するHypervisor３３４は、Software RAIDによって各ダンプＨＤＤ３１を組み合わせ
てダンプデバイス３３を作成する。業務ＯＳ３４０は、Hypervisor３３４を介して、作成されたダンプデバイス３３にアクセスできる。
【０１４１】
＜第２変形例＞
第１実施形態では、複数のダンプＨＤＤ３１をSoftware RAIDによって組み合わせるこ
とで、複数のダンプＨＤＤ３１へ並列してダンプファイルを出力した。しかしながら、複数のダンプＨＤＤ３１へ並列してダンプファイルを出力する方法は、Software RAIDに限
定されない。例えば、ダンプファイルを出力するプロセスを各ダンプＨＤＤ３１毎に分割し、分割されたそれぞれのプロセスが各ダンプＨＤＤ３１に対してダンプファイルの出力を行ってもよい。
【０１４２】
以上で開示した実施形態や変形例はそれぞれ組み合わせる事ができる。
【符号の説明】
【０１４３】
１・・・メモリダンプ評価システム
Ｎ１・・・試験ネットワーク
１０・・・操作端末
２０・・・試験装置
２１０・・・試験アプリケーション
２１１・・・被試験装置制御部
２１２・・・スループット取得指示部
２１３・・・ダンプデバイス作成部
２１４・・・ダンプファイル確認部
２２０・・・ダンプ出力時間推測テーブル
２２１・・・ダンプテーブル
２２２・・・圧縮ダンプテーブル
２３０・・・テストパターンテーブル
３０・・・被試験装置
３１ａ、３１ｂ、３１ｃ・・・外付けＨＤＤ
３１ｄ・・・内蔵ＨＤＤ
３１・・・ダンプＨＤＤ
３２・・・起動ＨＤＤ
３３・・・ダンプデバイス
３４０・・・業務ＯＳ
３４１・・・ダンプＯＳ
３４２・・・スループット取得用ＯＳ
３１０・・・ＢＩＯＳ
３２０・・・ダンプデバイス調整部
３２１・・・デバイス管理部
３２２・・・ＲＡＩＤ管理部
３２３・・・ＣＰＵ監視部
３３０・・・ＣＰＵ  ｈｏｔ−ａｄｄ部
３３１・・・ダンプ実行部
３３２・・・ＩＯテーブル
３３３・・・ＨＤＤ割当テーブル
３３４・・・Hypervisor
１００・・・情報処理装置
１０１、１０１ａ、１０１ｂ、１０１ｃ・・・ＣＰＵ
１０１ｄ・・・予備ＣＰＵ
１０２・・・主記憶部
１０３・・・補助記憶部
１０４・・・通信部
Ｂ１・・・接続バス
【図１】
2018124895.tif 000003
【図２】
2018124895.tif 000004
【図３】
2018124895.tif 000005
【図４】
2018124895.tif 000006
【図５】
2018124895.tif 000007
【図６】
2018124895.tif 000008
【図７】
2018124895.tif 000009
【図８】
2018124895.tif 000010
【図９】
2018124895.tif 000011
【図１０】
2018124895.tif 000012
【図１１】
2018124895.tif 000013
【図１２】
2018124895.tif 000014
【図１３】
2018124895.tif 000015
【図１４】
2018124895.tif 000016
【図１５】
2018124895.tif 000017
【図１６】
2018124895.tif 000018
【図１７】
2018124895.tif 000019
【図１８】
2018124895.tif 000020
【図１９】
2018124895.tif 000021
【図２０】
2018124895.tif 000022
【図２１】
2018124895.tif 000023
【図２２】
2018124895.tif 000024
【図２３】
2018124895.tif 000025
【図２４】
2018124895.tif 000026
【図２５】
2018124895.tif 000027
【図２６】
2018124895.tif 000028
【図２７】
2018124895.tif 000029
【図２８】
2018124895.tif 000030
【図２９】
2018124895.tif 000031
【図３０】
2018124895.tif 000032
【図３１】
2018124895.tif 000033
【図３２】
2018124895.tif 000034
【図３３】
2018124895.tif 000035
【図３４】
2018124895.tif 000036
【図３５】
2018124895.tif 000037
【図３６】
2018124895.tif 000038
【図３７】
2018124895.tif 000039