JP2015088068A - Information processing device, method for analyzing information processing device, and program for analyzing information processing device - Google Patents
Information processing device, method for analyzing information processing device, and program for analyzing information processing device Download PDFInfo
- Publication number
- JP2015088068A JP2015088068A JP2013227686A JP2013227686A JP2015088068A JP 2015088068 A JP2015088068 A JP 2015088068A JP 2013227686 A JP2013227686 A JP 2013227686A JP 2013227686 A JP2013227686 A JP 2013227686A JP 2015088068 A JP2015088068 A JP 2015088068A
- Authority
- JP
- Japan
- Prior art keywords
- function
- time
- information
- unit
- cpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、情報処理装置、情報処理装置の解析方法および情報処理装置の解析プログラムに関する。 The present invention relates to an information processing apparatus, an information processing apparatus analysis method, and an information processing apparatus analysis program.
プログラムを実行した情報処理装置から実行中の処理内容を示す情報などを収集し、収集した情報について集計処理を行なって得た集計結果に基づいて、実行した当該プログラムの動作の確認を行なう、いわゆるプログラムの性能分析が従来行なわれている(例えば、特許文献1参照)。 Collecting information indicating the processing contents being executed from the information processing apparatus that has executed the program, and confirming the operation of the executed program based on the aggregation result obtained by performing aggregation processing on the collected information. Conventionally, performance analysis of programs has been performed (see, for example, Patent Document 1).
しかしながら、従来のプロファイラによる解析では、実行時間に占めるアイドル時間の割合が高くなっているという事象しか把握できなかった。このため、従来の技術においては、プログラムの実行がなされないため、性能への影響を与えるアイドル状態を作り出すアイドル原因となる関数を的確に特定できないという問題があった。 However, the analysis by the conventional profiler can only grasp the phenomenon that the ratio of the idle time to the execution time is high. For this reason, in the conventional technique, since the program is not executed, there is a problem that the function that causes the idle that creates the idle state that affects the performance cannot be accurately specified.
一つの側面では、本発明はより精度良くアイドル原因となる関数を特定することが可能となる情報処理装置等を提供することを目的とする。 In one aspect, an object of the present invention is to provide an information processing apparatus or the like that can specify a function that causes idle more accurately.
本願に開示する情報処理装置は、プログラムを実行する演算処理部と、実行中の関数を示す情報である関数情報を所定間隔で採取するとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を記憶部に記憶する関数情報採取部と、前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶する移行取得部と、前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出する抽出部と、該抽出部が抽出した各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定する特定部とを備える。 The information processing device disclosed in the present application collects function information, which is information indicating a function being executed, and an arithmetic processing unit that executes a program at predetermined intervals, and at the time when the function information and the function information are collected. A function information collection unit that stores a certain sampling time in a storage unit, a transition acquisition unit that acquires a transition time and stores it in the storage unit when the arithmetic processing unit shifts to an idle state, and a memory that is stored in the storage unit The difference between the transition time and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and an extraction unit that extracts function information corresponding to the sampling time, and each function extracted by the extraction unit And a specifying unit that specifies a function that causes idle, based on a distribution of differences corresponding to the information.
一つの側面では、より精度良くアイドル原因となる関数を特定することが可能となる。 In one aspect, it is possible to specify a function that causes idle more accurately.
実施の形態1
以下実施の形態を、図面を参照して説明する。図1は情報処理装置1のハードウェア群を示すブロック図である。情報処理装置1は解析対象となるパーソナルコンピュータ、サーバコンピュータ、携帯電話機、ゲーム機、ブックリーダまたはPDA(Personal Digital Assistant)等である。以下では情報処理装置1をコンピュータ1と読み替えて説明する。コンピュータ1は制御部としてのCPU(Central Processing Unit)11、RAM(Random Access Memory)12、入力部13、表示部14、時計部18、記憶部15、及び通信部16等を含む。CPU11は、バス17を介してハードウェア各部と接続されている。CPU11は記憶部15に記憶された制御プログラム15Pに従いハードウェア各部を制御する。RAM12は例えばSRAM(Static RAM)、DRAM(Dynamic RAM)、フラッシュメモリ等である。RAM12は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。
Hereinafter, embodiments will be described with reference to the drawings. FIG. 1 is a block diagram illustrating a hardware group of the
入力部13はマウス、キーボードまたはタッチパネル等の入力デバイスであり、受け付けた操作情報をCPU11へ出力する。表示部14は液晶ディスプレイまたは有機ELディスプレイ等であり、CPU11の指示に従い各種情報を表示する。通信部16は通信モジュールであり、通信網を介して他のコンピュータ(図示せず)との間で情報の送受信を行う。
The
時計部18は時刻の情報をCPU11へ出力する。記憶部15はハードディスクまたは大容量メモリであり、制御プログラム15P、OS(Operating System)151、ユーザプログラム153、サンプリングテーブル154、移行時刻テーブル155、差分テーブル156及び統計テーブル157等を記憶している。CPU11は、RAM12にユーザプログラム153をロードする。CPU11は、OS151の一機能であるプロファイラ152により予め定めた間隔で割り込みを発生させる。プロファイラ152は、割り込みによる定期的なサンプリング処理により、プロセスを特定するための識別情報(以下、PIDという)、実行命令アドレス及び割り込んだ際の時刻(以下、サンプリング時刻という)を取得する。
The
実行命令アドレスはOS151及びユーザプログラム153から読み出されたサンプリング対象の関数が記憶されているRAM12上のアドレスである。なお、本実施形態ではプロファイラ152はOS151の一機能として説明するが、OS151とは別の独立したプログラムであっても良い。
The execution instruction address is an address on the
図2はサンプリング処理のイメージを示す説明図である。横軸は時間であり、時間の経過と共に、CPU11によりユーザプログラム153から関数(以下、ユーザ関数という)が次々と呼び出され、実行されている状態を示している。OS151は、CPU11をアイドル状態にするアイドル関数を呼び出す。図2に示すようにユーザ関数とアイドル関数とがCPU11により逐次呼び出され、各種処理が実行されることとなる。ここで、アイドル状態の占める割合が多ければ多い程、CPU11の使用率は低減することとなる。
FIG. 2 is an explanatory diagram showing an image of sampling processing. The horizontal axis represents time, and shows a state in which functions (hereinafter referred to as user functions) are successively called from the
図2の下向き矢印は、プロファイラ152によるサンプリング処理のタイミングを示すものである。CPU11はプロファイラ152の割り込みハンドラにより、記憶部15に記憶された予め定められた時間間隔でPID、実行命令アドレス、及び、サンプリング時刻を取得する。なお、サンプリング間隔については、ユーザが入力部13等から変更することができる。
A downward arrow in FIG. 2 indicates the timing of the sampling process by the
図3はサンプリングテーブル154のレコードレイアウトを示す説明図である。サンプリングテーブル154はPIDフィールド、実行命令アドレスフィールド、サンプリング時刻フィールド、プロセス名フィールド、及び関数名フィールドを含む。PIDフィールドには、OS151及びユーザプログラム153から呼び出されたユーザ関数及びアイドル関数に係るプロセスを特定するためのPIDが記憶されている。実行命令アドレスフィールドには、サンプリング対象の関数が記憶されているRAM12上のアドレスがPIDに対応付けて記憶されている。
FIG. 3 is an explanatory diagram showing a record layout of the sampling table 154. The sampling table 154 includes a PID field, an execution instruction address field, a sampling time field, a process name field, and a function name field. The PID field stores PIDs for specifying processes related to user functions and idle functions called from the
サンプリング時刻フィールドには、プロファイラ152によりサンプリングを行った際の時刻が実行命令アドレスに対応付けて記憶されている。プロセス名フィールドにはPID等に対応付けてサンプリング時に実行しているプロセスの名称が記憶されている。関数名フィールドには、サンプリング時刻に対応付けて、サンプリング時のOS151またはユーザプログラム153の関数名が記憶されている。CPU11は、プロファイラ152により定期的に取得したPID、実行命令アドレス及びサンプリング時刻をサンプリングテーブル154に記憶する。
In the sampling time field, the time when the
CPU11は、OS151からPID及び実行命令アドレスに対応するプロセス名及び関数名を取得する。CPU11は、取得したプロセス名及び関数名を実行命令アドレス等に対応付けてサンプリングテーブル154に記憶する。CPU11は、ユーザプログラム153のバイナリデータから、ユーザプログラム153のPID及び実行命令アドレスに対応するプロセス名及び関数名を取得する。CPU11は、取得したプロセス名及び関数名を実行命令アドレス等に対応付けてサンプリングテーブル154に記憶する。図3の例では第1回目のサンプリング時にはユーザ関数である「func_c」が実行されており、第2回目及び第3回目のサンプリング時に「poll_idle」で示すアイドル関数が実行されていることが理解できる。
The
図2に戻り説明を続ける。図2の上向き矢印はアイドル状態への移行タイミングを示す。CPU11は、デバッグ機能、または、OS151のイベント登録機能を利用し、ユーザ関数からアイドル関数への切り替えを検出した場合、プロファイラ152を呼び出し、アイドル状態へ移行した時刻(以下、移行時刻という)を取得する。なお、OS151のイベント登録機能は、例えばLinux(登録商標)のKprobesまたはSystemap等を用いればよい。具体的にはCPU11はユーザ関数からアイドル関数への移行をイベントとして登録しておき、登録したイベントを検出した場合に、移行時刻を取得するようにすればよい。またCPU11のデバッグ機能に関しては、例えばIntel社の「Intel(登録商標)64 and IA-32 Architectures Software Developer’s Manual Volume 3B:System Programming Guide, Part 2」に記載の方法を用いればよい。例えばCPU11は、ユーザ関数またはアイドル関数の特定の実行命令アドレスを記憶しておき、当該記憶した実行命令アドレスを検出した場合に、アイドル状態へ移行したと判断しても良い。以下では、デバッグ機能を用いる例を挙げて説明する。CPU11は、サンプリング処理と共にアイドル状態への移行に伴う移行時刻の取得を行う。
Returning to FIG. The upward arrow in FIG. 2 indicates the transition timing to the idle state. When the
図4は移行時刻テーブル155のレコードレイアウトを示す説明図である。CPU11は、移行時刻を取得した場合、移行時刻テーブル155に逐次移行時刻を記憶する。図5は差分テーブル156のレコードレイアウトを示す説明図である。差分テーブル156は、PIDフィールド、プロセス名フィールド、関数名フィールド及び差分フィールド等を含む。CPU11は、サンプリングテーブル154及び移行時刻テーブル155の記憶内容に基づき、差分テーブル156を生成する。CPU11は、サンプリングテーブル154及び移行時刻テーブル155を参照し、移行時刻の直前のサンプリング時刻を抽出する。CPU11は、サンプリングテーブル154を参照し、抽出したサンプリング時刻に対応するPID、プロセス名、関数名を抽出する。
FIG. 4 is an explanatory diagram showing a record layout of the transition time table 155. When acquiring the transition time, the
CPU11は、差分テーブル156に抽出したPID、プロセス名及び関数名を記憶する。CPU11は、移行時刻と直前のサンプリング時刻との差分を求め、差分フィールドに記憶する。なお、差分フィールドには参考のためかっこ内に、実時間を単位μsとして記載している。
The
図6は統計テーブル157のレコードレイアウトを示す説明図である。CPU11は、各関数の差分分布を、予め記憶部15に記憶した差分の時間帯に基づき分類する。図6の例では、時間帯を5μsとしている。具体的には5μs未満、5μs以上10μs未満、10μs以上15μs未満等と5μs毎に分類する。なお、時間帯はあくまで一例でありこれに限るものではない。また時間帯については、ユーザが入力部13等から変更することができる。
FIG. 6 is an explanatory diagram showing a record layout of the statistics table 157. The
CPU11は、差分テーブル156を参照し、関数名及び差分に基づき、関数毎に時間帯に属する差分の数を計数する。図6の例では「func_a」で示す関数aは、5μs未満の差分の個数が2015であり、5μs以上10μs未満の個数は2であることが理解できる。また「func_b」で示す関数bは、5μs未満の差分の個数が186であり、5μs以上10μs未満の個数は1861であることが理解できる。同様に「func_c」で示す関数cは、5μs未満の差分の個数が144であり、5μs以上10μs未満の個数は1822であることが理解できる。
The
CPU11は、時間帯が最も短い時間帯に分類された数の最も大きい関数を特定する。図6の例では時間帯が最も短い5μsに分類された数が、2015個と最も大きい関数aが、アイドル原因となる関数であるとして特定される。以上のハードウェア群において、各種ソフトウェア処理を、フローチャートを用いて説明する。
The
図7はサンプリングテーブル154の生成処理の手順を示すフローチャートである。CPU11は、RAM12を参照し、プロファイラ152により所定時間間隔で実行中のPID、実行命令アドレス及びサンプリング時刻を取得する(ステップS71)。CPU11は、取得したPID、実行命令アドレス及びサンプリング時刻をサンプリングテーブル154に記憶する(ステップS72)。CPU11は、OS151から、PID及び実行命令アドレスに対応するプロセス名及び関数名を取得する(ステップS73)。
FIG. 7 is a flowchart showing a procedure for generating the sampling table 154. The
CPU11は、ユーザプログラム153から、PID及び実行命令アドレスに対応するプロセス名及び関数名を取得する(ステップS74)。CPU11は、ステップS73及びS74で取得したプロセス名及び関数名を、PID及び実行命令アドレスに対応付けて、サンプリングテーブル154に記憶する(ステップS75)。なお、CPU11は、実行命令アドレスがOS151領域の場合は、OS151からプロセス名及び関数名を取得し、ユーザプログラム領域の場合は、OS151及びユーザプログラム情報(プログラムバイナリまたはOS151がプログラムロード時に作成するシンボル情報等)からプロセス名及び関数名を取得しても良い。なお、これら2つの取得処理は一つの処理として行えば良い。また制御プログラム15Pは、プロファイラ152と一体となって動作する。ここで、プロファイラ152がOS151に組込まれている場合、制御プログラム15PもOS151に組み込まれるか、または、アドオンモジュールという形で提供することにより、OS151にロードされ、実行される。プロファイラ152が独立したプログラムである場合、制御プログラム15Pを包含して提供する、または、協調して動作するプログラムとして提供する。
The
図8は移行時刻の取得処理手順を示すフローチャートである。CPU11は、デバッグ機能によりアイドル状態への移行を検出したか否かを判断する(ステップS81)。CPU11は、アイドル状態への移行を検出していないと判断した場合(ステップS81でNO)、アイドル状態を検出するまで待機する。CPU11は、アイドル状態への移行を検出した場合(ステップS81でYES)、ステップS82へ移行する。CPU11は、プロファイラ152により移行時刻を取得する(ステップS82)。CPU11は、取得した移行時刻を移行時刻テーブル155に記憶する(ステップS83)。
FIG. 8 is a flowchart showing a procedure for acquiring the transition time. The
図9は差分及び関数の取得処理手順を示すフローチャートである。CPU11は、移行時刻テーブル155を参照し、移行時刻を抽出(ステップS91)。CPU11は、サンプリングテーブル154を参照し、移行時刻直前のサンプリング時刻を抽出(ステップS92)。CPU11は、ステップS91で抽出した移行時刻から、ステップS92で抽出したサンプリング時刻を減じることで差分を算出する(ステップS93)。CPU11は、サンプリング時刻に対応するPID、プロセス名及び関数名を、サンプリングテーブル154から読み出す(ステップS94)。
FIG. 9 is a flowchart showing a difference and function acquisition processing procedure. The
CPU11は、ステップS93で算出した差分と、ステップS94で読み出したPID、プロセス名及び関数名とを対応付けて、差分テーブル156に記憶する(ステップS95)。CPU11は、移行時刻テーブル155に記憶した全ての移行時刻について上述した処理を終了したか否かを判断する(ステップS96)。CPU11は、終了していないと判断した場合(ステップS96でNO)、処理をステップS97へ移行させる。CPU11は、移行時刻テーブル155を参照し、時系列で次の移行時刻を読み出す(ステップS97)。その後CPU11は処理をステップS92に戻す。これにより、関数名及び差分が蓄積されることとなる。CPU11は、全ての移行時刻について処理を終了したと判断した場合(ステップS96でYES)、処理を終了する。
The
図10はアイドル原因となる可能性の高い関数の抽出処理手順を示すフローチャートである。CPU11は、関数を差分テーブル156から読み出す(ステップS101)。CPU11は、関数に対応する差分を差分テーブル156から読み出す(ステップS102)。CPU11は、記憶部15から複数の時系列で連続する複数の時間帯を読み出す。CPU11は、読み出した各時間帯に属する差分の数を計数する(ステップS103)。CPU11は、関数及び時間帯に対応付けて、計数した数を統計テーブル157に記憶する(ステップS104)。これにより一の関数について、各時間帯に属する差分の数を把握することができる。
FIG. 10 is a flowchart showing a procedure for extracting a function that is likely to cause idle. CPU11 reads a function from the difference table 156 (step S101). The
CPU11は、全ての関数について処理を終了したか否かを判断する(ステップS105)。CPU11は、処理を終了していないと判断した場合(ステップS105でNO)、未処理の関数を差分テーブル156から読み出す(ステップS106)。その後、CPU11は、処理をステップS102に戻す。CPU11は、全ての関数について処理を終了したと判断した場合(ステップS105でYES)、ステップS107へ移行する。以上の処理を繰り返すことにより、全ての関数の、差分分布を取得できる。
The
CPU11は、統計テーブル157を参照し、差分が最も短い時間帯に分類された数が最も多い関数を抽出する(ステップS107)。CPU11は、抽出した関数を表示部14へ出力する(ステップS108)。なお、抽出した関数の出力先は表示部14に限るものではない。図示しないマイクから音声出力するほか、図示しない他のコンピュータへインターネット等の通信網を介して出力するようにしても良い。
The
続いて効果を確認すべく実験を行った。図11はサンプリング結果を示す説明図である。ユーザプログラム153は関数A、関数B及び関数Cの3つであり、50μsの周期でサンプリング処理を行った。なお、関数Aがアイドル原因となる関数である。図11Aはアイドル関数、関数A〜C毎に対するサンプリング数の比率を示す。アイドル関数として抽出された割合は76.4%であり、関数Aは4.2%、関数Bは10.9%、関数Cは8.6%であった。アイドル状態にある割合が高いことが分かるほか、関数Bの占める割合も大きいことが分かる。
Subsequently, an experiment was conducted to confirm the effect. FIG. 11 is an explanatory diagram showing a sampling result. There are three
続いて移行時刻直前にサンプリングした関数の数について調査した。図11Bは関数A〜Cに対する移行時刻直前のサンプリング数及び比率を示す。関数Aのサンプリング数は4138であり、比率は17.6%、関数Bのサンプリング数は10867であり、比率は46.2%、関数Cのサンプリング数は8534であり、比率は36.3%であった。アイドル状態に移行する直前にサンプリングにより得られた関数の計数値だけに依拠して判断した場合、関数Bがアイドル原因に係る関数であると誤認識してしまう。 Subsequently, the number of functions sampled immediately before the transition time was investigated. FIG. 11B shows the sampling number and ratio immediately before the transition time for the functions A to C. The sampling number of the function A was 4138, the ratio was 17.6%, the sampling number of the function B was 10867, the ratio was 46.2%, the sampling number of the function C was 8534, and the ratio was 36.3%. If the determination is made based only on the count value of the function obtained by sampling immediately before shifting to the idle state, the function B is erroneously recognized as a function related to the cause of idle.
図12は統計テーブル157に記憶されたデータの変化を示すグラフである。図12に示すように本実施形態に係る手法では差分の最も短い時間帯が、最も多い関数は関数Aであることが顕著に表れている。一方、関数B及び関数Cは相対的に差分が長い時間帯に集中している。以上のことから本実施形態に係る手法ではアイドル原因となる関数を、関数Aと精度良く特定することが可能となる。 FIG. 12 is a graph showing changes in data stored in the statistical table 157. As shown in FIG. 12, in the method according to the present embodiment, it is noticeable that the function A is the function having the largest time zone with the shortest difference. On the other hand, the functions B and C are concentrated in a time zone in which the difference is relatively long. From the above, in the method according to the present embodiment, it is possible to accurately identify the function that causes idling as the function A.
実施の形態2
実施の形態2は、アイドル原因となる関数を複数の時間帯の数に基づき決定する形態に関する。実施の形態1では差分の最も短い時間帯、図6の例では5μs未満の数が最大の関数を特定したが、これに限るものではない。各時間帯に重みを設定し、重みに応じて各時間帯の数を補正しても良い。また、最も短い時間帯の数が、関数間で大差ない場合、次に短い時間帯の数に基づき関数を特定しても良い。以下詳細を説明する。
The second embodiment relates to a mode in which a function that causes idle is determined based on the number of a plurality of time zones. In the first embodiment, the time zone having the shortest difference is specified, and in the example of FIG. 6, the function having the maximum number of less than 5 μs is specified. However, the present invention is not limited to this. A weight may be set for each time slot, and the number of each time slot may be corrected according to the weight. Further, when the number of the shortest time zones is not greatly different between the functions, the function may be specified based on the number of the next shortest time zones. Details will be described below.
図13及び図14は実施の形態2に係る関数の特定処理手順を示すフローチャートである。CPU11は、統計テーブル157を参照し、最も短い時間帯に分類された数が最も多い関数(以下、第1関数という)を抽出する(ステップS131)。CPU11は、最も短い時間帯に分類された数が次に多い関数(以下、第2関数という)を抽出する(ステップS132)。CPU11は、ステップS131で抽出した第1関数の数から、ステップS132で抽出した第2関数の数を減算する(ステップS133)。CPU11は、記憶部15に予め記憶した閾値を読み出す(ステップS134)。
13 and 14 are flowcharts showing the function specifying process procedure according to the second embodiment. The
CPU11は、ステップS133で算出した減算値は閾値を超えるか否かを判断する(ステップS135)。CPU11は、減算値は閾値を超えると判断した場合(ステップS135でYES)、処理をステップS139へ移行させる。CPU11は、第1関数を、アイドル原因と推定される関数として、出力する(ステップS139)。CPU11は、減算値は閾値を超えないと判断した場合(ステップS135でNO)、ステップS136へ処理を移行させる。CPU11は、第1関数について、次に短い時間帯に分類された数を抽出する(ステップS136)。
The
CPU11は、第2関数について、次に短い時間帯に分類された数を抽出する(ステップS137)。CPU11は、ステップS136で抽出した数と、ステップS137で抽出した数とを比較し、抽出した数の多い関数を、アイドル原因と推定される関数として、出力する(ステップS138)。これにより、判別しがたい特性を有する関数についても、より精度良くアイドル原因となる関数を特定することが可能となる。
CPU11 extracts the number classified into the next short time slot about the 2nd function (Step S137). The
本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。 The second embodiment is as described above, and the other parts are the same as those of the first embodiment. Therefore, the corresponding parts are denoted by the same reference numerals, and detailed description thereof is omitted.
実施の形態3
実施の形態3は、アイドル関数からユーザ関数へ移行する際の終了時刻を利用する形態に関する。図15は実施の形態3に係るコンピュータ1のハードウェア群を示すブロック図である。記憶部15にはさらに終了時刻テーブル158、終了差分テーブル159、移行統計テーブル1510、及び終了統計テーブル1511が設けられている。図16はサンプリング処理のイメージを示す説明図である。実施の形態1の処理に加え、CPU11は、実施の形態1と同じくデバッグ機能、または、OS151のイベント登録機能を利用し、アイドル関数からユーザ関数への切り替えを検出した場合、プロファイラ152を呼び出し、アイドル状態からユーザ関数の実行へ復帰した時刻(以下、終了時刻という)を取得する。なお、実施の形態2においてもデバッグ機能を用いる例を挙げて説明する。図16の終了時刻は、上向き点線矢印で示されている。CPU11は、終了時刻検出直後のサンプリング時刻との差分を算出する。CPU11は、終了時刻に基づき算出した差分をも考慮して、アイドル原因となる関数を特定する。
Embodiment 3
The third embodiment relates to a mode of using an end time when shifting from an idle function to a user function. FIG. 15 is a block diagram illustrating a hardware group of the
図17は終了時刻テーブル158のレコードレイアウトを示す説明図である。CPU11は、デバッグ機能を利用し、アイドル関数からユーザ関数への切り替えを検出した場合、プロファイラ152を呼び出し、アイドル状態からユーザ関数の実行へ復帰した時刻を取得する。CPU11は、終了時刻を取得する度に、取得した終了時刻を終了時刻テーブル158に記憶する。
FIG. 17 is an explanatory diagram showing a record layout of the end time table 158. When the
図18は終了差分テーブル159のレコードレイアウトを示す説明図である。終了差分テーブル159は、PIDフィールド、プロセス名フィールド、関数名フィールド及び差分フィールド等を含む。CPU11は、サンプリングテーブル154及び終了時刻テーブル158の記憶内容に基づき、終了差分テーブル159を生成する。CPU11は、サンプリングテーブル154及び終了時刻テーブル158を参照し、終了時刻の直後のサンプリング時刻を抽出する。CPU11は、サンプリングテーブル154を参照し、抽出したサンプリング時刻に対応するPID、プロセス名、関数名を抽出する。
FIG. 18 is an explanatory diagram showing a record layout of the end difference table 159. The end difference table 159 includes a PID field, a process name field, a function name field, a difference field, and the like. The
CPU11は、終了差分テーブル159に抽出したPID、プロセス名及び関数名を記憶する。CPU11は、終了時刻と直後のサンプリング時刻との差分を求め、差分フィールドに記憶する。なお、差分フィールドには参考のためかっこ内に、実時間を単位μsとして記載している。
The
図19は移行統計テーブル1510のレコードレイアウトを示す説明図である。移行統計テーブル1510の記憶内容は、実施の形態1で述べた統計テーブル157と同様であるので詳細な説明は省略する。図20は終了統計テーブル1511のレコードレイアウトを示す説明図である。CPU11は、図18に示す終了差分テーブル159を参照し、各関数の差分分布を、予め記憶部15に記憶した差分の時間帯に基づき分類する。この時間帯は、図19に示す移行統計テーブル1510と同じ時間帯とすればよい。
FIG. 19 is an explanatory diagram showing a record layout of the migration statistics table 1510. Since the stored contents of the migration statistics table 1510 are the same as the statistics table 157 described in the first embodiment, detailed description thereof is omitted. FIG. 20 is an explanatory diagram showing a record layout of the end statistics table 1511. The
CPU11は、終了差分テーブル159を参照し、関数名及び差分に基づき、関数毎に時間帯に属する差分の数を計数する。図20の例では「func_a」で示す関数aは、5μs未満の差分の個数が2013であり、5μs以上10μs未満の個数は4であることが理解できる。また「func_b」で示す関数bは、5μS未満の差分の個数が184であり、5μs以上10μs未満の個数は1865であることが理解できる。同様に「func_c」で示す関数cは、5μs未満の差分の個数が139であり、5μs以上10μs未満の個数は1827であることが理解できる。
The
図21は実施の形態2に係る統計テーブル157のレコードレイアウトを示す説明図である。統計テーブル157は図19に示す移行統計テーブル1510と、終了統計テーブル1511とを合算したものである。CPU11は、移行統計テーブル1510及び終了統計テーブル1511を参照し、関数毎に、各時間帯の移行時刻に基づき算出される差分の数と、終了時刻に基づき算出される差分の数との合計値を算出する。CPU11は、合計値を関数及び時間帯に対応付けて統計テーブル157に記憶する。図21の例では「func_a」で示す関数aは、5μs未満の差分の個数が4028であり、5μs以上10μs未満の個数は6であることが理解できる。また「func_b」で示す関数bは、5μs未満の差分の個数が370であり、5μs以上10μs未満の個数は3726であることが理解できる。同様に「func_c」で示す関数cは、5μs未満の差分の個数が283であり、5μs以上10μs未満の個数は3649であることが理解できる。
FIG. 21 is an explanatory diagram showing a record layout of the statistics table 157 according to the second embodiment. The statistics table 157 is a total of the migration statistics table 1510 and the end statistics table 1511 shown in FIG. The
図22は終了時刻の取得処理手順を示すフローチャートである。CPU11は、デバッグ機能によりアイドル状態からユーザプログラム153の実行への復帰を検出したか否かを判断する(ステップS221)。CPU11は、復帰を検出していないと判断した場合(ステップS221でNO)、復帰を検出するまで待機する。CPU11は、復帰を検出した場合(ステップS221でYES)、ステップS222へ移行する。CPU11は、プロファイラ152により終了時刻を取得する(ステップS222)。CPU11は、取得した終了時刻を終了時刻テーブル158に記憶する(ステップS223)。
FIG. 22 is a flowchart showing an end time acquisition processing procedure. The
図23は終了時刻に係る差分及び関数の抽出処理手順を示すフローチャートである。CPU11は、終了時刻テーブル158を参照し、終了時刻を抽出(ステップS231)。CPU11は、サンプリングテーブル154を参照し、終了時刻直後のサンプリング時刻を抽出(ステップS232)。CPU11は、ステップS232で抽出したサンプリング時刻から、ステップS231で抽出した終了時刻を減じることで差分を算出する(ステップS233)。CPU11は、サンプリング時刻に対応するPID、プロセス名及び関数名を、サンプリングテーブル154から読み出す(ステップS234)。
FIG. 23 is a flowchart showing a difference and function extraction process procedure related to the end time. The
CPU11は、ステップS233で算出した差分と、ステップS234で読み出したPID、プロセス名及び関数名とを対応付けて、終了差分テーブル159に記憶する(ステップS235)。CPU11は、終了時刻テーブル158に記憶した全ての終了時刻について上述した処理を終了したか否かを判断する(ステップS236)。CPU11は、終了していないと判断した場合(ステップS236でNO)、処理をステップS237へ移行させる。CPU11は、終了時刻テーブル158を参照し、時系列で次の終了時刻を読み出す(ステップS237)。その後CPU11は処理をステップS232に戻す。これにより、関数名及び差分が蓄積されることとなる。CPU11は、全ての終了時刻について処理を終了したと判断した場合(ステップS236でYES)、処理を終了する。
The
図24はアイドル原因となる可能性の高い関数の抽出処理手順を示すフローチャートである。CPU11は、関数を終了差分テーブル159から読み出す(ステップS241)。CPU11は、関数に対応する差分を終了差分テーブル159から読み出す(ステップS242)。CPU11は、記憶部15から複数の時系列で連続する複数の時間帯を読み出す。CPU11は、読み出した各時間帯に属する差分の数を計数する(ステップS243)。CPU11は、関数及び時間帯に対応付けて、計数した数を終了統計テーブル1511に記憶する(ステップS244)。
FIG. 24 is a flowchart showing a procedure for extracting a function having a high possibility of causing idling. The
CPU11は、全ての関数について処理を終了したか否かを判断する(ステップS245)。CPU11は、処理を終了していないと判断した場合(ステップS245でNO)、未処理の関数を終了差分テーブル159から読み出す(ステップS246)。その後、CPU11は、処理をステップS242に戻す。CPU11は、全ての関数について処理を終了したと判断した場合(ステップS245でYES)、ステップS247へ移行する。以上の処理を繰り返すことにより、全ての関数の、差分分布を取得できる。
The
CPU11は、図10で述べた処理により生成した統計テーブル157を移行統計テーブル1510として読み出し、さらに、ステップS241〜S246の処理で生成した終了統計テーブル1511を読み出す(ステップS247)。CPU11は、移行統計テーブル1510及び終了統計テーブル1511を参照し、各関数の時間帯の合計値を算出し、統計テーブル157を生成する(ステップS248)。
The
CPU11は、統計テーブル157を参照し、差分が最も短い時間帯に分類された数が最も多い関数を抽出する(ステップS249)。CPU11は、抽出した関数を表示部14へ出力する(ステップS2410)。このように、アイドル状態からプログラム関数の実行に復帰する回数の多い関数をも考慮するため、より精度良くアイドル原因となる関数を特定することが可能となる。
The
本実施の形態3は以上の如きであり、その他は実施の形態1及び2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。 The third embodiment is as described above, and the others are the same as in the first and second embodiments. Therefore, the corresponding parts are denoted by the same reference numerals, and detailed description thereof is omitted.
実施の形態4
実施の形態4は移行統計テーブル1510または終了統計テーブル1511の数に重み付け処理を行う形態に関する。図25は重み付け処理の手順を示すフローチャートである。CPU11は、移行統計テーブル1510を参照し、最も短い時間帯に分類された各関数の数を読み出す(ステップS251)。CPU11は、終了統計テーブル1511を参照し、最も短い時間帯に分類された各関数の数を読み出す(ステップS252)。CPU11は、記憶部15に予め記憶した重みとしての係数を読み出す(ステップS253)。CPU11は、終了統計テーブル1511についてステップS252にて読み出した各関数の数に、係数を乗じ、各関数の数を補正する(ステップS254)。
The fourth embodiment relates to a mode in which weighting processing is performed on the number of the migration statistics table 1510 or the end statistics table 1511. FIG. 25 is a flowchart showing the procedure of the weighting process. The
この係数は例えば1より小さい数(例えば0.8)、または、1より大きい数(例えば1.2)とすればよい。なお、本実施形態では終了統計テーブル1511の数に係数を乗じたが、ステップS251で読み出した移行統計テーブル1510の数に係数を乗じても良い。また双方に異なる値を乗じても良い。CPU11は、ステップS251にて移行統計テーブル1510について読み出した各関数の数と、ステップS254にて補正した補正後の各関数の数とを加算する(ステップS255)。CPU11は、加算値が最も大きい関数を、アイドル原因となる関数として出力する(ステップS256)。なお、本実施形態では、最も短い時間帯に分類された各関数の数に重み付け処理を行ったがこれに限るものではない。他の時間帯に分類された各関数の数にも重み付け処理を行っても良い。そして、CPU11は、移行統計テーブル1510と補正後の終了統計テーブル1511の全ての時間帯に分類された数を加算する。その後、CPU11は、実施の形態2で述べた如く、最も短い時間帯の数と、次に短い時間帯の数とに基づき、アイドル原因となる関数を特定するようにしても良い。以上のとおり、関数の特性に応じて重み付け処理を行うことで、より精度良くアイドル要因となる関数を特定することが可能となる。
For example, the coefficient may be a number smaller than 1 (for example, 0.8) or a number larger than 1 (for example, 1.2). In this embodiment, the number of end statistics tables 1511 is multiplied by a coefficient. However, the number of migration statistics tables 1510 read in step S251 may be multiplied by a coefficient. Alternatively, both may be multiplied by different values. The
本実施の形態4は以上の如きであり、その他は実施の形態1から3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。 The fourth embodiment is as described above, and the others are the same as those of the first to third embodiments. Therefore, the corresponding parts are denoted by the same reference numerals and detailed description thereof is omitted.
実施の形態5
図26は上述した形態のコンピュータ1の動作を示す機能ブロック図である。CPU11が制御プログラム15Pを実行することにより、コンピュータ1は以下のように動作する。関数情報採取部261は、実行中の関数を示す情報である関数情報を所定間隔で採取するとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を記憶部15に記憶する。移行取得部262は、CPU11がアイドル状態に移行した場合、移行時刻を取得して前記記憶部15に記憶する。抽出部263は、前記記憶部15に記憶した移行時刻と、前記記憶部15に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出する。特定部264は、抽出部263が抽出した各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定する。分類部265は、複数の差分の時間帯別に、各関数の差分を分類する。関数特定部267は、差分が短い時間帯に分類された数に基づき、前記アイドル原因となる関数を特定する。
FIG. 26 is a functional block diagram showing the operation of the
図27は実施の形態5に係るコンピュータ1のハードウェア群を示すブロック図である。コンピュータ1を動作させるためのプログラムは、ディスクドライブ等の読み取り部10AにCD-ROM、DVD(Digital Versatile Disc)ディスク、メモリーカード、またはUSB(Universal Serial Bus)メモリ等の可搬型記録媒体1Aを読み取らせて記憶部15に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ1Bをコンピュータ1内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網を介して接続される他のサーバコンピュータ(図示せず)からダウンロードすることも可能である。以下に、その内容を説明する。
FIG. 27 is a block diagram illustrating a hardware group of the
図27に示すコンピュータ1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体1Aまたは半導体メモリ1Bから読み取り、或いは、通信網を介して他のサーバコンピュータ(図示せず)からダウンロードする。当該プログラムは、制御プログラム15Pとしてインストールされ、RAM12にロードして実行される。これにより、上述したコンピュータ1として機能する。
The
本実施の形態5は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。 The fifth embodiment is as described above, and the other parts are the same as those of the first embodiment. Therefore, corresponding parts are denoted by the same reference numerals, and detailed description thereof is omitted.
以上の実施の形態1から5を含む実施形態に関し、さらに以下の付記を開示する。 With respect to the embodiments including the first to fifth embodiments, the following additional notes are disclosed.
(付記1)
プログラムを実行する演算処理部と、
実行中の関数を示す情報である関数情報を所定間隔で採取するとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を記憶部に記憶する関数情報採取部と、
前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶する移行取得部と、
前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出する抽出部と、
該抽出部が抽出した各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定する特定部と
を備える情報処理装置。
(Appendix 1)
An arithmetic processing unit for executing a program;
A function information collection unit that collects function information that is information indicating a function being executed at a predetermined interval, and stores a sampling time that is a time at which the function information and the function information are collected;
When the arithmetic processing unit transitions to an idle state, a transition acquisition unit that acquires a transition time and stores it in the storage unit;
A difference between the transition time stored in the storage unit and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and an extraction unit that extracts function information corresponding to the sampling time;
An information processing apparatus comprising: a specifying unit that specifies a function that causes an idle based on a distribution of differences corresponding to each function information extracted by the extraction unit.
(付記2)
前記特定部は、
複数の差分の時間帯別に、各関数の差分を分類する分類部と、
差分が短い時間帯に分類された数に基づき、前記アイドル原因となる関数を特定する関数特定部と
を備える付記1に記載の情報処理装置。
(Appendix 2)
The specific part is:
A classification unit that classifies the difference of each function according to a plurality of difference time zones;
The information processing apparatus according to
(付記3)
前記関数特定部は、
最も短い時間帯に分類された数が最も大きい関数を、前記アイドル原因となる関数として特定する
付記2に記載の情報処理装置。
(Appendix 3)
The function specifying unit is
The information processing apparatus according to
(付記4)
アイドル状態が終了した場合に、終了時刻を取得する終了取得部と、
終了時刻と該終了時刻直後のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数を抽出する終了抽出部とを備え、
前記特定部は、
前記抽出部及び前記終了抽出部により抽出した各関数の差分分布に基づき、アイドル原因となる関数を特定する
付記1に記載の情報処理装置。
(Appendix 4)
An end acquisition unit that acquires an end time when the idle state ends;
A difference between the end time and the sampling time immediately after the end time, and an end extraction unit that extracts a function corresponding to the sampling time,
The specific part is:
The information processing apparatus according to
(付記5)
前記特定部は、
複数の差分の時間帯別に、前記抽出部及び前記終了抽出部により抽出した各関数の差分を分類する複数分類部と、
差分が短い時間帯に分類された数の大きい関数を特定する複数特定部と
を備える付記4に記載の情報処理装置。
(Appendix 5)
The specific part is:
A plurality of classification units for classifying the difference of each function extracted by the extraction unit and the end extraction unit according to a plurality of difference time zones;
The information processing apparatus according to
(付記6)
前記抽出部により抽出した各関数の時間帯別に分類された数、または、前記終了抽出部により抽出した各関数の時間帯別に分類された数に対し重み付け処理する重量部を備え、
前記複数特定部は、
前記重量部により重み付け処理された後に、差分が短い時間帯に分類された数の大きい関数を特定する
付記4に記載の情報処理装置。
(Appendix 6)
A weight part for weighting the number classified by time zone of each function extracted by the extraction unit, or the number classified by time zone of each function extracted by the end extraction unit,
The plurality of specific parts are:
The information processing apparatus according to
(付記7)
前記複数特定部は、
前記重量部により重み付け処理された後に、差分が最も短い時間帯に分類された数の最も大きい関数を特定する
付記6に記載の情報処理装置。
(Appendix 7)
The plurality of specific parts are:
The information processing apparatus according to
(付記8)
プログラムを実行する演算処理部と、記憶部とを有する情報処理装置の解析方法において、
前記情報処理装置が、
実行中の関数を示す情報である関数情報を所定間隔で採取するとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を前記記憶部に記憶し、
前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶し、
前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出する抽出部と、
抽出された各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定する情報処理装置の解析方法。
(Appendix 8)
In an analysis method of an information processing apparatus having an arithmetic processing unit that executes a program and a storage unit,
The information processing apparatus is
Collecting function information that is information indicating a function being executed at a predetermined interval, and storing a sampling time that is a time when the function information and the function information are collected in the storage unit,
When the arithmetic processing unit shifts to the idle state, obtain the transition time and store in the storage unit,
A difference between the transition time stored in the storage unit and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and an extraction unit that extracts function information corresponding to the sampling time;
An information processing apparatus analysis method for identifying a function that causes an idle based on a distribution of differences corresponding to each extracted function information.
(付記9)
プログラムを実行する演算処理部と、記憶部とを有する情報処理装置の解析プログラムにおいて、
前記情報処理装置に、
実行中の関数を示す情報である関数情報を所定間隔で採取させるとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を前記記憶部に記憶させ、
前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶させ、
前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出させ、
抽出された各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定させる情報処理装置の解析プログラム。
(Appendix 9)
In an analysis program for an information processing apparatus having an arithmetic processing unit that executes a program and a storage unit,
In the information processing apparatus,
The function information which is information indicating the function being executed is collected at predetermined intervals, and the sampling time which is the time when the function information and the function information are collected is stored in the storage unit,
When the arithmetic processing unit shifts to an idle state, the transition time is acquired and stored in the storage unit,
The difference between the transition time stored in the storage unit and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and the function information corresponding to the sampling time are extracted,
An analysis program for an information processing apparatus that identifies a function that causes an idle based on a distribution of differences corresponding to each extracted function information.
1 情報処理装置
1A 可搬型記録媒体
1B 半導体メモリ
10A 読み取り部
11 CPU
12 RAM
13 入力部
14 表示部
15 記憶部
15P 制御プログラム
16 通信部
18 時計部
151 OS
152 プロファイラ
153 ユーザプログラム
154 サンプリングテーブル
155 移行時刻テーブル
156 差分テーブル
157 統計テーブル
158 終了時刻テーブル
159 終了差分テーブル
1510 移行統計テーブル
1511 終了統計テーブル
261 関数情報採取部
262 移行取得部
263 抽出部
264 特定部
265 分類部
267 関数特定部
DESCRIPTION OF
12 RAM
13
Claims (5)
実行中の関数を示す情報である関数情報を所定間隔で採取するとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を記憶部に記憶する関数情報採取部と、
前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶する移行取得部と、
前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出する抽出部と、
該抽出部が抽出した各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定する特定部と
を備える情報処理装置。 An arithmetic processing unit for executing a program;
A function information collection unit that collects function information that is information indicating a function being executed at a predetermined interval, and stores a sampling time that is a time at which the function information and the function information are collected;
When the arithmetic processing unit transitions to an idle state, a transition acquisition unit that acquires a transition time and stores it in the storage unit;
A difference between the transition time stored in the storage unit and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and an extraction unit that extracts function information corresponding to the sampling time;
An information processing apparatus comprising: a specifying unit that specifies a function that causes an idle based on a distribution of differences corresponding to each function information extracted by the extraction unit.
複数の差分の時間帯別に、各関数の差分を分類する分類部と、
差分が短い時間帯に分類された数に基づき、前記アイドル原因となる関数を特定する関数特定部と
を備える請求項1に記載の情報処理装置。 The specific part is:
A classification unit that classifies the difference of each function according to a plurality of difference time zones;
The information processing apparatus according to claim 1, further comprising: a function specifying unit that specifies a function that causes the idle based on a number classified into a time zone in which the difference is short.
最も短い時間帯に分類された数が最も大きい関数を、前記アイドル原因となる関数として特定する
請求項2に記載の情報処理装置。 The function specifying unit is
The information processing apparatus according to claim 2, wherein a function having the largest number classified into the shortest time zone is specified as the function causing the idle.
前記情報処理装置が、
実行中の関数を示す情報である関数情報を所定間隔で採取するとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を前記記憶部に記憶し、
前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶し、
前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出する抽出部と、
抽出された各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定する情報処理装置の解析方法。 In an analysis method of an information processing apparatus having an arithmetic processing unit that executes a program and a storage unit,
The information processing apparatus is
Collecting function information that is information indicating a function being executed at a predetermined interval, and storing a sampling time that is a time when the function information and the function information are collected in the storage unit,
When the arithmetic processing unit shifts to the idle state, obtain the transition time and store in the storage unit,
A difference between the transition time stored in the storage unit and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and an extraction unit that extracts function information corresponding to the sampling time;
An information processing apparatus analysis method for identifying a function that causes an idle based on a distribution of differences corresponding to each extracted function information.
前記情報処理装置に、
実行中の関数を示す情報である関数情報を所定間隔で採取させるとともに、前記関数情報と前記関数情報とを採取した時刻であるサンプリング時刻を前記記憶部に記憶させ、
前記演算処理部がアイドル状態に移行した場合、移行時刻を取得して前記記憶部に記憶させ、
前記記憶部に記憶した移行時刻と、前記記憶部に記憶したサンプリング時刻のうち前記移行時刻直前のサンプリング時刻との差分、及び、前記サンプリング時刻に対応する関数情報を抽出させ、
抽出された各関数情報に対応する差分の分布に基づき、アイドル原因となる関数を特定させる情報処理装置の解析プログラム。 In an analysis program for an information processing apparatus having an arithmetic processing unit that executes a program and a storage unit,
In the information processing apparatus,
The function information which is information indicating the function being executed is collected at predetermined intervals, and the sampling time which is the time when the function information and the function information are collected is stored in the storage unit,
When the arithmetic processing unit shifts to an idle state, the transition time is acquired and stored in the storage unit,
The difference between the transition time stored in the storage unit and the sampling time immediately before the transition time among the sampling times stored in the storage unit, and the function information corresponding to the sampling time are extracted,
An analysis program for an information processing apparatus that identifies a function that causes an idle based on a distribution of differences corresponding to each extracted function information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013227686A JP6131829B2 (en) | 2013-10-31 | 2013-10-31 | Information processing apparatus, information processing apparatus analysis method, and information processing apparatus analysis program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013227686A JP6131829B2 (en) | 2013-10-31 | 2013-10-31 | Information processing apparatus, information processing apparatus analysis method, and information processing apparatus analysis program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015088068A true JP2015088068A (en) | 2015-05-07 |
JP6131829B2 JP6131829B2 (en) | 2017-05-24 |
Family
ID=53050756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013227686A Expired - Fee Related JP6131829B2 (en) | 2013-10-31 | 2013-10-31 | Information processing apparatus, information processing apparatus analysis method, and information processing apparatus analysis program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6131829B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0659944A (en) * | 1992-08-06 | 1994-03-04 | Fujitsu Ltd | Device for evaluating performance of parallel processing |
JP2007133604A (en) * | 2005-11-09 | 2007-05-31 | Fujitsu Ten Ltd | Computer system, operational state determination program and operational state determination method |
JP2007213205A (en) * | 2006-02-08 | 2007-08-23 | Fujitsu Ltd | System analysis program, device, and method |
JP2011164839A (en) * | 2010-02-08 | 2011-08-25 | Fujitsu Ltd | Counting method, counting program, and counting device |
JP2014228889A (en) * | 2013-05-17 | 2014-12-08 | 富士通株式会社 | Performance information collection program, information processing device, and performance information collection method |
-
2013
- 2013-10-31 JP JP2013227686A patent/JP6131829B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0659944A (en) * | 1992-08-06 | 1994-03-04 | Fujitsu Ltd | Device for evaluating performance of parallel processing |
JP2007133604A (en) * | 2005-11-09 | 2007-05-31 | Fujitsu Ten Ltd | Computer system, operational state determination program and operational state determination method |
JP2007213205A (en) * | 2006-02-08 | 2007-08-23 | Fujitsu Ltd | System analysis program, device, and method |
JP2011164839A (en) * | 2010-02-08 | 2011-08-25 | Fujitsu Ltd | Counting method, counting program, and counting device |
JP2014228889A (en) * | 2013-05-17 | 2014-12-08 | 富士通株式会社 | Performance information collection program, information processing device, and performance information collection method |
Also Published As
Publication number | Publication date |
---|---|
JP6131829B2 (en) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019128426A1 (en) | Method for training model and information recommendation system | |
US10216558B1 (en) | Predicting drive failures | |
CN105608199B (en) | Extension method and device for standard questions in intelligent question-answering system | |
CN109167816B (en) | Information pushing method, device, equipment and storage medium | |
JP6260130B2 (en) | Job delay detection method, information processing apparatus, and program | |
CN110019668A (en) | A kind of text searching method and device | |
TW201303620A (en) | Generation of topic-based language models for an app search engine | |
WO2017000743A1 (en) | Method and device for software recommendation | |
KR20190128246A (en) | Searching methods and apparatus and non-transitory computer-readable storage media | |
CN102622238A (en) | Method and device for interface layout of mobile devices | |
CN113543117B (en) | Prediction method and device for number portability user and computing equipment | |
CN109144715B (en) | Resource optimization and update method, server and equipment | |
TW202038217A (en) | Data tag generation method and apparatus, model training method and apparatus, and event identification method and apparatus | |
CN108604142B (en) | Touch screen device operation method and touch screen device | |
JP2011145996A (en) | Reviewer evaluation apparatus, reviewer evaluation method and program | |
CN112966964A (en) | Product matching method, device, equipment and storage medium based on design requirements | |
CN117234859A (en) | Performance event monitoring method, device, equipment and storage medium | |
JP6131829B2 (en) | Information processing apparatus, information processing apparatus analysis method, and information processing apparatus analysis program | |
JP5292247B2 (en) | Content tag collection method, content tag collection program, content tag collection system, and content search system | |
CN108804917B (en) | File detection method and device, electronic equipment and storage medium | |
JP6390085B2 (en) | Program, information processing apparatus, and information processing method | |
JP6048119B2 (en) | Abnormal cause estimation program, abnormal cause estimation apparatus, and abnormal cause estimation method | |
US20220051077A1 (en) | System and method for selecting components in designing machine learning models | |
JP5361090B2 (en) | Topic word acquisition apparatus, method, and program | |
CN110059272B (en) | Page feature recognition method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170314 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170321 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6131829 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |