(57)【要約】【課題】性能トラブルの原因の特定に要する時間の短縮を図る。【解決手段】情報管理プログラムは、コンピュータを、処理を実行する処理部のトレース情報に基づいて処理部の処理状況を示す性能情報を生成し、性能情報と生成元のトレース情報とを対応付ける生成手段、生成した性能情報に基づいて所定の事象を検出する検出手段、所定の事象を検出すると、検出元になった性能情報と性能情報に対応するトレース情報とを出力する出力手段、として実行させる。【選択図】図１
2011076389.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
処理を実行する処理部のトレース情報に基づいて前記処理部の処理状況を示す性能情報を生成し、前記性能情報と生成元の前記トレース情報とを対応付ける生成手段、
生成した前記性能情報に基づいて所定の事象を検出する検出手段、
前記所定の事象を検出すると、検出元になった前記性能情報と該性能情報に対応する前記トレース情報とを出力する出力手段、
として実行させることを特徴とする情報管理プログラム。
【請求項２】
前記生成手段は、第１の期間分の前記トレース情報に基づいて、第１の期間分の第１の性能情報を生成し、前記第１の性能情報と生成元の前記トレース情報とを対応付け、
前記検出手段は、前記第１の性能情報と、前記第１の期間分よりも長い第２の期間分の第２の性能情報とを比較し、比較結果に基づいて前記所定の事象を検出し、
前記出力手段は、前記所定の事象を検出すると、検出元になった前記第１の性能情報と該第１の性能情報に対応する前記トレース情報とを出力すること、
を特徴とする請求項１に記載の情報管理プログラム。
【請求項３】
前記第２の性能情報は、前記第１の性能情報を含む複数の前記性能情報を集計して得られることを特徴とする請求項２に記載の情報管理プログラム。
【請求項４】
前記出力手段は、検出元になった前記性能情報と該性能情報に対応する前記トレース情報とを、保存部に出力することを特徴とする請求項１〜３のいずれか１つに記載の情報管理プログラム。
【請求項５】
前記性能情報は、応答速度や処理速度を示す指標を含むことを特徴とする請求項１〜４のいずれか１つに記載の情報管理プログラム。
【請求項６】
前記性能情報は、書込要求数、及び、書込要求サイズを含むことを特徴とする請求項５に記載の情報管理プログラム。
【請求項７】
前記生成手段は、前記トレース情報を前記性能情報に変換する変換テーブルを参照して、前記性能情報を生成することを特徴とする請求項１〜６のいずれか１つに記載の情報管理プログラム。
【請求項８】
前記検出手段は、特異情報として識別される条件を参照して、前記所定の事象を検出することを特徴とする請求項１〜７のいずれか１つに記載の情報管理プログラム。
【請求項９】
コンピュータが、
処理を実行する処理部のトレース情報に基づいて前記処理部の処理状況を示す性能情報を生成し、前記性能情報と生成元の前記トレース情報とを対応付け、
生成した前記性能情報に基づいて所定の事象を検出し、
前記所定の事象を検出すると、検出元になった前記性能情報と該性能情報に対応する前記トレース情報とを出力する、
ことを特徴とする情報管理方法。
【請求項１０】
処理を実行する処理部のトレース情報に基づいて前記処理部の処理状況を示す性能情報を生成し、前記性能情報と生成元の前記トレース情報とを対応付ける生成部と、
生成した前記性能情報に基づいて所定の事象を検出する検出部と、
前記所定の事象を検出すると、検出元になった前記性能情報と該性能情報に対応する前記トレース情報とを出力する出力部と、
を有することを特徴とする情報管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を管理する情報管理プログラム、情報管理方法、及び、情報管理装置に関する。
【背景技術】
【０００２】
プログラムに基づき所定の処理を実行する処理部を備える処理装置に関して、処理部における性能トラブル、例えば、一部のプロセスの一時的なレスポンスの劣化等の原因を調査する方法として、処理部における処理状況を示す性能情報を解析する方法がある。
【０００３】
性能情報は、例えば、処理装置を管理するＯＳ（Operating System）により提供される情報であり、具体的には、処理部を監視するカウンタが、処理部でのプロセスの実行により発生する、例えば、書込要求数や書込要求サイズ等をカウントすることで生成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２２７９９９号公報
【特許文献２】特開平６−５９９４４号公報
【特許文献３】特開２００２−２８８００５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、カウンタでは実行されたプロセスを特定する情報やプロセスの実行が誰によるものかを特定するような情報は生成されないため、性能情報を解析しても、性能トラブルが誰のどのような処理によるものかを特定することができなかった。このため、性能トラブルの種類によっては、原因を特定するまでに多大な時間を要してしまう可能性があった。
【０００６】
このような点に鑑み、性能トラブルの原因の特定に要する時間の短縮を図る、情報管理プログラム、情報管理方法、及び、情報管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために以下のような情報管理プログラムが提供される。
この情報管理プログラムは、コンピュータを、処理を実行する処理部のトレース情報に基づいて処理部の処理状況を示す性能情報を生成し、性能情報と生成元のトレース情報とを対応付ける生成手段、生成した性能情報に基づいて所定の事象を検出する検出手段、所定の事象を検出すると、検出元になった性能情報と性能情報に対応するトレース情報とを出力する出力手段、として実行させる。
【発明の効果】
【０００８】
開示の情報管理プログラムによれば、性能トラブルの原因の特定に要する時間の短縮を図ることが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る情報管理装置の一例を示す図。
【図２】第１の実施形態に係る情報管理装置の処理手順の一例を示すフローチャート。
【図３】第２の実施形態に係る情報管理装置のハードウェアの一例を示すブロック図。
【図４】第２の実施形態に係る情報管理装置の機能の一例を示すブロック図。
【図５】トレース情報の一例を示す図。
【図６】トレース情報の一例を示す図。
【図７】トレース情報の一例を示す図。
【図８】変換テーブルの一例を示す図。
【図９】第１の期間分の性能情報の一例を示す図。
【図１０】第２の期間分の性能情報の一例を示す図。
【図１１】第２の実施形態に係る情報管理装置の処理手順の一例を示すフローチャート。
【図１２】第２の実施形態に係る情報管理装置の処理手順の一例を示すフローチャート。
【図１３】調査の一例を説明する図。
【図１４】調査の一例を説明する図。
【図１５】調査の一例を説明する図。
【図１６】調査の一例を説明する図。
【発明を実施するための形態】
【００１０】
以下、実施形態を図面を参照して説明する。
［第１の実施形態］
図１は、第１の実施形態に係る情報管理装置の一例を示す図である。情報管理装置１０は、処理部１１と、トレース情報記憶部１２と、生成部１３と、検出部１４と、出力部１５とを有する。
【００１１】
処理部１１は、プログラムに基づいて所定の処理を実行する。トレース情報記憶部１２は、処理部１１における処理の履歴を示すトレース情報を記憶する。ここで、トレース情報は、処理を特定する情報や、処理の実行が誰によるものかを示す情報を含んでいる。また、トレース情報は、例えば、情報管理装置１０を管理するＯＳ（Operating System）により提供される。
【００１２】
生成部１３は、トレース情報記憶部１２に記憶されたトレース情報に基づいて、性能情報を生成する。性能情報は、処理部１１の処理状況を示す情報であり、例えば、応答速度や処理速度等を示す指標を含む。例えば、性能情報は、書込要求数、書込要求サイズ、ＣＰＵ消費率、メモリ使用量、ＩＯ稼働率、読込要求数、読込要求サイズ等を含む。さらに、生成部１３は、生成した性能情報と生成元のトレース情報とを対応付ける。
【００１３】
検出部１４は、生成部１３が生成した性能情報に基づいて、所定の事象を検出する。所定の事象とは、例えば、通常の状態とは大きく異なる異常状態を示す特異事象である。多くの場合、この特異事象は、性能トラブルの現象となって現れる。
【００１４】
出力部１５は、検出部１４が所定の事象を検出すると、検出元になった性能情報と、この性能情報に対応するトレース情報とを、例えば、保存部や表示装置の表示画面等（図示せず）に出力する。
【００１５】
なお、情報管理装置１０は、処理部１１及びトレース情報記憶部１２を必ずしも有している必要はない。例えば、情報管理装置１０とネットワーク等で接続された外部の処理装置に、処理部１１及びトレース情報記憶部１２を設定することも可能である。この場合、情報管理装置１０は、ネットワーク等を介して外部の処理装置からトレース情報を取得する。
【００１６】
次に、この情報管理装置１０の動作について説明する。図２は、第１の実施形態に係る情報管理装置の処理手順の一例を示すフローチャートである。
［ステップＳ１１］処理を開始すると、生成部１３が、トレース情報記憶部１２に記憶されているトレース情報に基づいて性能情報を生成する。
【００１７】
［ステップＳ１２］生成部１３が、ステップＳ１１で生成された性能情報と、生成元のトレース情報とを対応付ける。
［ステップＳ１３］検出部１４が、ステップＳ１１で生成された性能情報に基づいて、所定の事象を検出する。所定の事象を検出した場合、処理をステップＳ１４に進める。所定の事象が検出されない場合は、処理を終了する。
【００１８】
［ステップＳ１４］ステップＳ１３で、検出部１４が所定の事象を検出した場合、出力部１５が、検出元になった性能情報と、この性能情報に対応するトレース情報とを出力して処理を終了する。
【００１９】
なお、性能トラブルの原因の調査は、出力部１５が出力した情報を調査することで行われる。例えば、出力部１５が情報を表示装置の表示画面に出力する場合、ユーザは、この表示画面を閲覧することで調査を行うことが可能となる。
【００２０】
このように、情報管理装置１０は、性能情報と生成元のトレース情報とを対応付け、性能情報に所定の事象が検出された場合、検出元になった性能情報と、この性能情報と対応するトレース情報とを出力する。
【００２１】
これにより、性能トラブルの原因を調査する際、トレース情報にまで遡って調査を行うことが可能となる。トレース情報は、処理を特定する情報や、処理の実行が誰によるものかを示す情報を含んでいるため、トレース情報を調査することで、性能トラブルの原因が誰のどのような処理によるものかを、短時間で特定することが可能となる。
【００２２】
さらに、情報管理装置１０では、出力される性能情報及びトレース情報は、所定の事象が検出された情報のみなので、調査の対象を絞ることが可能となり、調査時間をさらに短縮することが可能となる。
【００２３】
次に、情報管理装置１０をより具体的にした例を、第２の実施形態に説明する。
［第２の実施形態］
第２の実施形態に係る情報管理装置について説明する。まず、情報管理装置のハードウェアについて説明する。図３は、第２の実施形態に係る情報管理装置のハードウェアの一例を示すブロック図である。
【００２４】
情報管理装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０６を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、及びグラフィック処理部１０４、入力インタフェース１０５が接続されている。
【００２５】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラム、各種データが格納される。グラフィック処理部１０４には、モニタ１０７が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ１０７の画面に表示させる。入力インタフェース１０５には、キーボード１０８ａやマウス１０８ｂ等の入力デバイスが接続されており、キーボード１０８ａやマウス１０８ｂから送られてくる信号を、バス１０６を介してＣＰＵ１０１に送信する。
【００２６】
このようなハードウェアによって、情報管理装置１００の処理機能を実現することができる。次に、情報管理装置１００の機能について説明する。図４は、第２の実施形態に係る情報管理装置の機能の一例を示すブロック図である。
【００２７】
情報管理装置１００は、処理部１１０と、トレース情報記憶部１２０と、性能情報生成部１３０と、性能情報生成部１４０と、事象検出部１５０と、情報出力部１６０と、保存部１７０とを有する。
【００２８】
処理部１１０は、プログラムに基づいて所定のプロセスやスレッド等の処理を実行する。処理部１１０は、例えば、ＡＰＩ（Application Program Interface）を実行するＡＰＩ層１１１と、情報を一時記憶するキャッシュ層１１２と、情報の入出力を行うＩＯ層１１３とを含んでいる。
【００２９】
トレース情報記憶部１２０は、処理部１１０における処理の履歴を示すトレース情報を記憶する。ここでは、トレース情報記憶部１２０は、各ＡＰＩ層１１１、キャッシュ層１１２、及び、ＩＯ層１１３に対応したトレース情報をそれぞれ記憶する。
【００３０】
ここで、トレース情報は、プロセスやスレッドを特定する情報や、プロセスやスレッドの実行が誰によるものかを示す情報を含んでいる。また、トレース情報は、例えば、情報管理装置１００を管理するＯＳにより提供される。なお、トレース情報記憶部１２０に記憶されたトレース情報は、例えば、一定時間（１分程度）経過すると、次のトレース情報に上書きされる。
【００３１】
性能情報生成部１３０は、トレース情報記憶部１２０に記憶されたトレース情報に基づいて、性能情報を生成する。性能情報は、処理部１１０の処理状況を示し、例えば、応答速度や処理速度等を示す指標を含む。具体的には、性能情報は、例えば、書込要求数、書込要求サイズ、ＣＰＵ消費率、メモリ使用量、ＩＯ稼働率等を含む。さらに、性能情報生成部１３０は、生成した性能情報と生成元のトレース情報とを対応付けて記憶する。
【００３２】
具体的には、性能情報生成部１３０は、変換部１３１と、トレース情報退避部１３２と、カウンタ１３３とを有している。さらに、変換部１３１は、トレース情報を性能情報に変換するための変換テーブルを記憶した変換テーブル記憶部１３４を有している。
【００３３】
変換部１３１は、トレース情報記憶部１２０に記憶されたトレース情報に基づいて、変換テーブル記憶部１３４に記憶された変換テーブルを参照して、カウンタ１３３をカウントアップする変換操作を行う。なお、変換部１３１によるトレース情報の変換操作は、第１の期間（例えば、３０秒）毎に実施される。このとき、変換部１３１は、直前の第１の期間（例えば、３０秒）分のトレース情報を変換操作の対象としている。
【００３４】
トレース情報退避部１３２は、変換部１３１で変換操作の対象となった第１の期間分のトレース情報を記憶する。なお、トレース情報退避部１３２に記憶されたトレース情報は、記憶されてから所定の期間（例えば、１０分）が経過すると、トレース情報退避部１３２から消去される。
【００３５】
カウンタ１３３は、性能情報を示す値を記憶するものであり、変換部１３１の変換操作に基づきカウントを行う。即ち、変換部１３１が第１の期間分のトレース情報に基づいてカウンタ１３３をカウントアップさせる変換操作を行うことで、カウンタ１３３に、第１の期間分の性能情報が生成されて記憶される。また、カウンタ１３３は、例えば、性能情報の種類別に設けられた複数のカウンタ部により構成されている。例えば、カウンタ１３３は、書込要求数を示すカウンタ部と、書込要求サイズを示すカウンタ部と、ＣＰＵ消費率を示すカウンタ部等を含んでいる。
【００３６】
ここで、生成された第１の期間分の性能情報は、生成元となったトレース情報と対応付けられて記憶される。即ち、第１の期間分の性能情報から生成元となったトレース情報が特定できるようにしている。例えば、これは、第１の期間分の性能情報に、生成元となったトレース情報の検索キーを付与することで実現することが可能である。なお、カウンタ１３３は、例えば、変換部１３１が、第１の期間経過後、次の回の変換操作を開始すると、ゼロクリアされる。
【００３７】
次に、性能情報生成部１４０は、カウンタ１３３が記憶した第１の期間分の性能情報を取得して蓄積し、蓄積した第１の期間分の性能情報群が第２の期間分に達していると、蓄積した第１の期間分の性能情報群を集計して第２の期間分の性能情報を生成する。そして、性能情報生成部１４０は、生成した第２の期間分の性能情報と集計元の第１の期間分の性能情報群とを対応付けて記憶する。
【００３８】
具体的には、性能情報生成部１４０は、集計部１４１と、性能情報退避部１４２と、カウンタ１４３とを有している。集計部１４１は、性能情報生成部１３０のカウンタ１３３が記憶した第１の期間分の性能情報を、記憶される毎、即ち、第１の期間毎に取得して、第１の期間分の性能情報群を蓄積する。
【００３９】
さらに、集計部１４１は、蓄積した第１の期間分の性能情報群が、第２の期間（例えば、１０分）分に達していると、第１の期間分の性能情報群を、性能情報の種類毎、例えば、書込要求数、書込要求サイズ、ＣＰＵ消費率毎に集計して１つにまとめる。これにより、第２の期間（例えば、１０分間）分の性能情報が生成される。
【００４０】
なお、集計部１４１は、カウンタ１３３が記憶した第１の期間分の性能情報を取得することで、蓄積する第１の期間分の性能情報群が第２の期間分を超えた場合、一番古く蓄積した第１の期間分の性能情報を消去する。そして、今回取得された分を含めた第２の期間分の第１の性能情報群を、性能情報の種類毎に集計する。
【００４１】
性能情報退避部１４２は、集計部１４１で生成された第２の期間分の性能情報の集計元となった第１の期間分の性能情報群を記憶する。なお、性能情報退避部１４２に記憶された第１の期間分の性能情報群は、記憶されてから所定の期間（例えば、７日間）が経過すると、性能情報退避部１４２から消去される。
【００４２】
カウンタ１４３は、集計部１４１で生成された第２の期間分の性能情報を記憶する。ここで、第２の期間分の性能情報は、集計元となった第１の期間分の性能情報群と対応付けられて記憶される。即ち、第２の期間分の性能情報から集計元となった第１の期間分の性能情報群が特定できるようにしている。例えば、これは、第２の期間分の性能情報に、集計元となった第１の期間分の性能情報群の検索キーを付与することで実現することが可能である。なお、カウンタ１４３は、例えば、集計部１４１が、第１の期間経過後、次の回の集計を開始すると、ゼロクリアされる。
【００４３】
次に、事象検出部１５０は、カウンタ１３３に記憶された第１の期間分の性能情報と、カウンタ１４３に記憶された第２の期間分の性能情報とを比較し、比較結果に基づいて所定の事象を検出する。所定の事象とは、例えば、第２の期間分の性能情報に対して、第１の期間分の性能情報が異常値を示すような特異事象である。具体例としては、１０分間のＣＰＵ消費率が２０％未満とそれほど高くないにもかかわらず、３０秒間の書込要求サイズが１０ＭＢを超えるような非常に大きい場合である。
【００４４】
ここで、第１の期間分の性能情報が、第１の期間分よりも長い第２の期間分の大局的な性能情報に対して異常値を示すような場合は、その第１の期間における処理において、性能トラブルが発生している可能性が高いと考えられる。
【００４５】
ここでは、事象検出部１５０は、特異事象として識別される条件を記憶する条件記憶部１５１を有している。そして、この条件記憶部１５１に記憶された条件を参照して、比較結果から所定の事象を検出する。
【００４６】
また、例えば、性能トラブルが発生した際に現れる事象が予め分かっていれば、この事象を識別する条件を条件記憶部１５１に記憶しておくことで、性能トラブルに伴う事象を検出する検出精度を向上させることが可能となる。
【００４７】
情報出力部１６０は、事象検出部１５０が所定の事象を検出すると、カウンタ１４３に記憶された第２の期間分の性能情報と、カウンタ１３３に記憶された第１の期間分の性能情報と、トレース情報退避部１３２に記憶された直前の第１の期間分のトレース情報とを取得する。さらに、情報出力部１６０は、取得した第２の期間分の性能情報、第１の期間分の性能情報、及び、トレース情報を、保存部１７０に出力する。
【００４８】
なお、情報出力部１６０は、さらに、性能情報退避部１４２に記憶された直前の第１の期間分の性能情報群と、トレース情報記憶部１２０に記憶されたトレース情報とを取得し、保存部１７０に出力しても良い。
【００４９】
保存部１７０に保存された、第２の期間分の性能情報と、第１の期間分の性能情報と、トレース情報とは、例えば、図３に示す情報管理装置１００のモニタ１０７に表示される。この時、例えば、第２の期間分の性能情報と、第１の期間分の性能情報と、トレース情報とが、互いに対応付けられて表示される。
【００５０】
次に、トレース情報記憶部１２０が記憶するトレース情報について説明する。
図５〜図７は、トレース情報の一例を示す図である。
処理部１１０のＡＰＩ層１１１の処理履歴を示すトレース情報１２１は、例えば、図５に示される。トレース情報１２１は、処理が実行された時間（ＴＩＭＥ）と、処理プロセス及びスレッドを特定するプロセスＩＤ及びスレッドＩＤとを含む。さらに、トレース情報１２１は、処理の実行が誰によるものかを示す呼出元アドレスと、処理の依頼の履歴か、又は、処理の応答の履歴かを特定する区分と、処理の種類を示す機能名と、処理内容を示すパラメタとを含む。
【００５１】
例えば、プログラムＡ（プロセスＮ１、スレッドＭ１）がファイルＡに３２ＭＢの書き込みを行う場合、トレース情報１２１の最上欄に示されるように、ＴＩＭＥに処理が実行された時間が記憶され、プロセスＩＤに「Ｎ１」、スレッドＩＤに「Ｍ１」が記憶される。さらに、呼出元アドレスにこの処理の呼出元アドレスである「ｘｘｘ１」が記憶され、区分に「ｃａｌｌ」が記憶され、機能名に「ｆｗｒｉｔｅ」が記憶され、パラメタに「ファイルＡ，１，３２Ｍ，１」等が記憶される。
【００５２】
処理部１１０のキャッシュ層１１２の処理履歴を示すトレース情報１２２は、例えば、図６に示される。トレース情報１２２は、処理が実行された時間（ＴＩＭＥ）と、処理プロセス及びスレッドの依頼元を特定する依頼元プロセスＩＤ及び依頼元スレッドＩＤとを含む。さらに、トレース情報１２２は、処理の実行が誰によるものかを示す呼出元アドレスと、処理の依頼の履歴か、又は、処理の応答の履歴かを特定する区分と、処理の種類を示す機能名と、処理内容を示すパラメタとを含む。
【００５３】
処理部１１０のＩＯ層１１３の処理履歴を示すトレース情報１２３は、例えば、図７に示される。トレース情報１２３は、処理が実行された時間（ＴＩＭＥ）と、処理プロセス及びスレッドの依頼元を特定する依頼元プロセスＩＤ及び依頼元スレッドＩＤとを含む。さらに、トレース情報１２３は、処理の実行が誰によるものかを示す呼出元アドレスと、処理の依頼の履歴か、又は、処理の応答の履歴かを特定する区分と、処理の種類を示す機能名と、処理内容を示すパラメタとを含む。
【００５４】
次に、変換テーブル記憶部１３４に記憶されている変換テーブルについて説明する。図８は、変換テーブルの一例を示す図である。変換テーブルは処理部１１０内の各層別に区分れている。ここでは、変換テーブルは、例えば、ＡＰＩ層、キャッシュ層、ＩＯ層に区分されている。さらに、変換テーブルには、各層別に、変換対象となるトレース情報の機能名、カウンタ１３３における変換先のカウンタ部、変換操作内容が設けられている。
【００５５】
ＡＰＩ層の欄については、例えば、機能名が書き込みを示す「ｆｗｒｉｔｅ」であり、変換先カウンタ部が、書込要求数（全体）、書込要求数（プロセス）、書込要求サイズ（全体）、書込要求サイズ（プロセス）である。さらに、変換操作内容が、「書込要求数（全体）に１を加える」、「書込要求数（プロセスＩＤ）に１を加える」、「書込要求サイズ（全体）に第３パラメタを加える」、「書込要求サイズ（プロセスＩＤ）に第３パラメタを加える」である。
【００５６】
キャッシュ層の欄については、例えば、機能名が書き込みを示す「ｃｗｒｉｔｅ」であり、変換先カウンタ部が、書込要求数（論理装置）、書込要求サイズ（論理装置）である。さらに、変換操作内容が、「書込要求数（論理装置）に１を加える」、「書込要求サイズ（論理装置）に第３パラメタを加える」である。
【００５７】
ＩＯ層の欄については、例えば、機能名が書き込みを示す「ｉｏｗｒｉｔｅ」であり、変換先カウンタ部が、書込要求数（物理装置）、書込要求サイズ（物理装置）である。さらに、変換操作内容が、「書込要求数（物理装置）に１を加える」、「書込要求サイズ（物理装置）に第３パラメタを加える」である。
【００５８】
例えば、機能名が「ｆｗｒｉｔｅ」のＡＰＩ層１１１に対応するトレース情報に対しては、変換テーブル（ＡＰＩ層）に基づいて、次の通り変換操作が行われる。即ち、カウンタ１３３における書込要求数（全体）を示すカウンタ部、及び、書込要求数（プロセスＩＤ）を示すカウンタ部にそれぞれ１が加えられる。さらに、カウンタ１３３における書込要求サイズ（全体）を示すカウンタ部、及び、書込要求サイズ（プロセスＩＤ）を示すカウンタ部にそれぞれに書込情報のサイズが加えられる。
【００５９】
次に、カウンタ１３３に記憶される第１の期間分の性能情報について説明する。図９は、第１の期間分の性能情報の一例を示す図である。
第１の期間分の性能情報では、性能情報の種類毎、即ち、カウンタ部毎に、それぞれカウンタ値が対応付けられている。ここでは、性能情報の種類に、例えば、プロセス全体の書込要求数及び書込要求サイズ、プロセスＩＤの書込要求数及び書込要求サイズ、論理装置の書込要求数及び書込要求サイズ、物理装置の書込要求数及び書込要求サイズを含んでいる。これらのそれぞれに対して、カウンタ値、及び、単位時間当たりのカウンタ値が対応付けられている。
【００６０】
さらに、第１の期間分の性能情報は、当該性能情報の生成に要した期間を示す生成期間を含んでいる。図９に示される例では、第１の期間が３０秒間なので、生成期間が３０秒を示している。また、第１の期間分の性能情報には、生成時刻が付与されている。例えば、この生成時刻を、対応するトレース情報を検索する際の検索キーとすることも可能である。
【００６１】
次に、カウンタ１４３に記憶される第２の期間分の性能情報について説明する。図１０は、第２の期間分の性能情報の一例を示す図である。
第２の期間分の性能情報も、図９に示される第１の期間分の性能情報と同様の形式を備えている。図１０に示される例では、第２の期間が１０分間、即ち、６００秒間なので、生成期間が６００秒を示している。また、第２の期間分の性能情報にも、生成時刻が付与されている。例えば、この生成時刻を、対応する第１の性能情報群を検索する際の検索キーとすることも可能である。
【００６２】
次に、情報管理装置１００の処理手順について説明する。図１１、図１２は、第２の実施形態に係る情報管理装置の処理手順の一例を示すフローチャートである。まず、図１１を用いて説明する。
【００６３】
第１の期間（例えば、３０秒間）毎に処理が開始する。
［ステップＳ１１０］変換部１３１が、トレース情報記憶部１２０に記憶されている第１の期間分のトレース情報に基づいて、カウンタ１３３をカウントアップして、第１の期間分の性能情報を生成する。このとき、変換部１３１は、例えば、変換テーブル記憶部１３４に記憶されている変換テーブルを参照する。
【００６４】
［ステップＳ１２０］トレース情報退避部１３２が、ステップＳ１１０で生成された第１の期間分の性能情報の生成元となった第１の期間分のトレース情報を記憶する。
［ステップＳ１３０］カウンタ１３３が、ステップＳ１１０で生成された第１の期間分の性能情報を、生成元となったトレース情報と対応付けて記憶する。
【００６５】
［ステップＳ１４０］集計部１４１が、ステップＳ１３０で第１の期間分の性能情報がカウンタ１３３に記憶されると、カウンタ１３３から第１の期間分の性能情報を取得して蓄積する。次のステップからは図１２を用いて説明する。
【００６６】
［ステップＳ１５０］集計部１４１が、ステップＳ１４０で蓄積した第１の期間分の性能情報群が第２の期間（例えば、１０分間）分に達しているかどうかを判定する。達している場合は処理をステップＳ１６０に進める。達していない場合は処理を終了する。
【００６７】
［ステップＳ１６０］集計部１４１が、第１の期間分の性能情報群を集計して第２の期間分の性能情報を生成する。
［ステップＳ１７０］性能情報退避部１４２が、ステップＳ１６０で生成された第２の期間分の性能情報の集計元となった第１の期間分の性能情報群を記憶する。
【００６８】
［ステップＳ１８０］カウンタ１４３が、ステップＳ１６０で生成された第２の期間分の性能情報を、集計元となった第１の期間分の性能情報群と対応付けて記憶する。
［ステップＳ１９０］事象検出部１５０が、ステップＳ１３０でカウンタ１３３に記憶された第１の期間分の性能情報と、ステップＳ１８０でカウンタ１４３に記憶された第２の期間分の性能情報とを比較する。
【００６９】
［ステップＳ２００］事象検出部１５０が、ステップＳ１９０の比較結果に基づいて所定の事象を検出する。このとき、事象検出部１５０は、例えば、条件記憶部１５１に記憶されている条件を参照して、所定の事象を検出する。所定の事象が検出された場合、処理をステップＳ２１０に進める。所定の事象が検出されない場合、処理を終了する。
【００７０】
［ステップＳ２１０］情報出力部１６０が、ステップＳ１８０でカウンタ１４３に記憶された第２の性能情報、ステップＳ１３０でカウンタ１３３に記憶された第１の性能情報、ステップＳ１２０でトレース情報退避部１３２に記憶されたトレース情報を、保存部１７０に出力する。これで処理を終了する。なお、この時、情報出力部１６０が、さらに、ステップＳ１７０で性能情報退避部１４２に記憶された第１の期間分の性能情報群、及び、トレース情報記憶部１２０に記憶されたトレース情報を、保存部１７０に出力しても良い。なお、性能トラブルの原因の調査は、保存部１７０に保存された第２の期間分の性能情報、第１の期間分の性能情報群、及び、トレース情報を調査することで行われる。
【００７１】
ここで、保存部１７０に保存された情報から、ある性能トラブルの原因を調査する一例を説明する。図１３〜図１６は、調査の一例を説明する図である。
図１３には、カウンタ１３３が記憶する３０秒間の性能情報と、カウンタ１４３が記憶する１０分間の性能情報とが示されている。図１３に示すように、事象検出部１５０により、３０秒間の性能情報と１０分間の性能情報とから、１０分間のＣＰＵ消費率が１１％とそれほど高くないにもかかわらず、３０秒間の磁気ディスク＃１の書込要求サイズが１８ＭＢ／秒である特異事象が検出されたとする。ここで、磁気ディスク＃１は、磁気ディスクが有する領域の一部を指すものである。
【００７２】
この特異事象が検出されると、情報出力部１６０が、検出元になった第１の期間分の性能情報をカウンタ１３３から取得し、さらに、この第１の期間分の性能情報に対応するトレース情報をトレース情報退避部１３２から取得する。そして、情報出力部１６０は、取得した第１の期間分の性能情報と、トレース情報とを、保存部１７０に出力する。
【００７３】
事象検出部１５０にて特異事象が検出されると、情報管理装置１００は、例えば、図３に示されるモニタ１０８にアラーム情報を表示する等して、特異事象が検出されたことをユーザに報知する。ユーザは、情報管理装置１００からの特異事象の報知に基づき、保存部１７０の調査を行う。なお、ユーザは、情報管理装置１００からの報知によらずに、定期的に保存部１７０の調査を行っても良いし、情報管理装置１００の操作中に動作速度が遅くなる等の不具合を感知することで、調査を行っても良い。
【００７４】
保存部１７０の調査を行う場合、ユーザは、３０秒間の性能情報に対応付けされた同時間帯のトレース情報を参照して分析する。図１４は、対応するＩＯ層のトレース情報である。図１４に示すトレース情報１２３には、磁気ディスク＃１への書き込みが記憶されている。今回の特異事象は書込要求サイズに関するものであるため、書き込みのトレース情報（機能名：ｉｏｗｒｉｔｅ）から、書き込み対象のキャッシュバッファを全て抽出する。ここでは、キャッシュバッファ＃２、＃３、＃４が抽出された。ここで、各キャッシュバッファ＃２〜＃４はそれぞれ、キャッシュバッファが有する領域の一部を指すものである。
【００７５】
次に、ユーザは、抽出したキャッシュバッファ＃２〜＃４を元に、同時間帯のキャッシュ層１１２のトレース情報１２２を調査する。このトレース情報１２２に抽出したキャッシュバッファ＃２〜＃４が検出されなければ、前の３０秒間分のトレース情報１２２やそれ以前の３０秒間分のトレース情報１２２にも遡って調査する。ここでは、前の３０秒間のキャッシュ層１１２のトレース情報１２２に、抽出したキャッシュバッファ＃２〜＃４が検出された。図１５は、そのキャッシュ層のトレース情報である。
【００７６】
次に、ユーザは、キャッシュバッファ＃２〜＃４が検出されたキャッシュ層１１２のトレース情報１２２と同時間帯のＡＰＩ層１１１のトレース情報１２１を解析する。図１６は、そのＡＰＩ層のトレース情報である。すると、キャッシュバッファ＃２〜＃４が検出された同時間に、対応するプロセス／スレッドから、１回で３２ＭＢもの「ｆｗｒｉｔｅ」を発行していることが検出された。呼出元アドレスに基づいてプロセスの開発元に照会したところ、プログラム動作環境パラメタの設定ミスにより不当なサイズでファイルの初期獲得が実施された結果、今回の事象が発生したことが判明した。
【００７７】
このように、情報管理装置１００は、第１の期間分の性能情報と生成元のトレース情報とを対応付けて記憶し、第１の期間分の性能情報に所定の事象が検出された場合、記憶した第１の期間分の性能情報とトレース情報とを保存部１７０に出力する。
【００７８】
これにより、性能トラブルの原因を調査する際、トレース情報にまで遡って調査を行うことが可能となる。トレース情報は、処理プロセスやスレッドを特定する情報や、処理の実行が誰によるものかを示す情報を含んでいるため、トレース情報を調査することで、性能トラブルの原因が誰のどのような処理によるものかを、短時間で特定することが可能となる。
【００７９】
さらに、情報管理装置１００では、第１の期間分の性能情報からの所定の事象の検出は、第１の期間分の性能情報と、第１の期間分の性能情報を第２の期間分蓄積して集計した第２の期間分の性能情報とを比較することで行われる。これにより、第１の期間分の性能情報の局所的な異常値を検出することが可能となり、検出精度を向上させることが可能となる。
【００８０】
さらに、情報管理装置１００では、保存部１７０に保存される第２の期間分の性能情報、第１の期間分の性能情報、及びトレース情報は、所定の事象が検出された情報のみなので、調査の対象を絞ることが可能となり、調査時間をさらに短縮することが可能となる。また、この構成によれば、保存部１７０の記憶容量を小さく設定することが可能となる。
【００８１】
なお、以上の処理は、前述した通り、コンピュータに所定のプログラムを実行させることで実現できる。その場合、実現すべき処理内容を記述したプログラムが提供される。処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体に記録しておくことができる。コンピュータ読み取り可能な記録媒体には、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリがある。磁気記録装置には、ハードディスク装置、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）等がある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc ？ Read Only Memory）、ＣＤ−Ｒ（Recordable）、ＣＤ−ＲＷ（ReWritable）等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等がある。
【００８２】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにプログラムを転送することもできる。
【００８３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラム又はサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【符号の説明】
【００８４】
１０  情報管理装置
１１  処理部
１２  トレース情報記憶部
１３  生成部
１４  検出部
１５  出力部
【図１】
2011076389.tif 000003
【図２】
2011076389.tif 000004
【図３】
2011076389.tif 000005
【図４】
2011076389.tif 000006
【図５】
2011076389.tif 000007
【図６】
2011076389.tif 000008
【図７】
2011076389.tif 000009
【図８】
2011076389.tif 000010
【図９】
2011076389.tif 000011
【図１０】
2011076389.tif 000012
【図１１】
2011076389.tif 000013
【図１２】
2011076389.tif 000014
【図１３】
2011076389.tif 000015
【図１４】
2011076389.tif 000016
【図１５】
2011076389.tif 000017
【図１６】
2011076389.tif 000018