JP2015170084A - 計算機装置及びプロセス解析方法及びプログラム - Google Patents

計算機装置及びプロセス解析方法及びプログラム Download PDF

Info

Publication number
JP2015170084A
JP2015170084A JP2014043890A JP2014043890A JP2015170084A JP 2015170084 A JP2015170084 A JP 2015170084A JP 2014043890 A JP2014043890 A JP 2014043890A JP 2014043890 A JP2014043890 A JP 2014043890A JP 2015170084 A JP2015170084 A JP 2015170084A
Authority
JP
Japan
Prior art keywords
execution environment
trace
process execution
determination
result
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
Application number
JP2014043890A
Other languages
English (en)
Other versions
JP6272088B2 (ja
Inventor
昌弘 出口
Masahiro Deguchi
昌弘 出口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014043890A priority Critical patent/JP6272088B2/ja
Publication of JP2015170084A publication Critical patent/JP2015170084A/ja
Application granted granted Critical
Publication of JP6272088B2 publication Critical patent/JP6272088B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】複数プロセス実行環境下におけるプロセストレースにてトレース結果の確認を容易にする。【解決手段】計算機装置10には、プロセス実行環境A20が存在し、プロセス実行環境A20内にプロセス実行環境B30が存在する。トレース部40は、プロセスごとに、プロセスの挙動をトレースする。プロセス実行環境判断部43は、プロセスごとに、プロセスが実行される実行環境がプロセス実行環境A20及びプロセス実行環境B30のいずれであるかを判断する。トレース部40は、同一のプロセスに対するトレース結果とプロセス実行環境判断部43の判断結果とを組み合わせて、プロセスごとにトレース結果と実行環境とが記述される情報を生成する。【選択図】図1

Description

本発明は、プロセストレースに関する。
従来のプロセストレース装置では、トレース対象のプロセスのID(Identifier)とそのプロセス挙動を監視することによりプロセスIDによるトレース情報の管理を行い、トレース結果の表示を行っている。
これに対し、トレース情報に実行ユーザ名を追加することでプロセスのトレース結果の確認を容易にしようとすることが行われていた(例えば、特許文献1)。
特開2008−210213号公報
しかし、従来のプロセストレース装置では、複数プロセス実行環境下でのプロセストレースにてプロセスがどのプロセス実行環境下で実行されたものか、プロセスのIDやユーザ名だけでは判断することが難しくトレース結果の確認が容易ではないという課題があった。
この発明は、上記のような課題を解決することを主な目的とし、複数プロセス実行環境下におけるプロセストレースにてトレース結果の確認を容易にすることを主な目的とする。
本発明に係る計算機装置は、
第1のプロセス実行環境が存在し、前記第1のプロセス実行環境内に第2のプロセス実行環境が存在する計算機装置であって、
プロセスごとに、プロセスの挙動をトレースするトレース部と、
プロセスごとに、プロセスが実行される実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断するプロセス実行環境判断部と、
同一のプロセスに対する前記トレース部のトレース結果と前記プロセス実行環境判断部の判断結果とを組み合わせて、プロセスごとにトレース結果と実行環境とが記述されるトレース情報を生成するトレース情報生成部とを有することを特徴とする。
本発明によれば、プロセスごとにトレース結果と実行環境とが記述されるトレース情報を生成するため、複数プロセス実行環境下におけるプロセストレースにてトレース結果を容易に確認することができる。
実施の形態1に係る計算機装置の構成例を示す図。 実施の形態1に係る計算機装置のレイヤ構造の例を示す図。 実施の形態1に係るプロセス実行環境管理テーブルの例を示す図。 実施の形態1に係るプロセス実行環境判断部の処理フローを示すフローチャート図。 実施の形態1に係るトレース結果の例を示す図。 実施の形態1に係るトレース結果の例を示す図。 実施の形態1に係るトレース部の処理フローを示すフローチャート図。 実施の形態1に係るトレースログ記録時間とプロセス実行環境管理テーブルの登録時間との関係を示す図。 実施の形態1に係る実行環境が考慮されないプロセスの動作状況を示す図。 実施の形態1に係る実行環境を考慮したプロセスの動作状況を示す図。 実施の形態1に係る実行環境を考慮したプロセスの動作状況を示す図。 実施の形態2に係るトレース部の処理フローを示すフローチャート図。 実施の形態3に係る計算機装置の構成例を示す図。 実施の形態3に係る計算機装置のレイヤ構造の例を示す図。 実施の形態3に係るプロセス実行環境判断部の処理フローを示すフローチャート図。 実施の形態1〜4に係る計算機装置のハードウェア構成例を示す図。
実施の形態1.
図1は、本実施の形態に係るプログラムトレースを行う計算機装置10を示す構成図である。
図1において、計算機装置10はCPU(Central Processing Unit)やメモリ、HDD(Hard Disk Drive)、入力部などを備えたプロセス実行環境を実行するための装置である。
プロセス実行環境A20は、Linux(登録商標)のOS(Operating System)である。
プロセス実行環境A20は、第1のプロセス実行環境の例に相当する。
プロセスAA21とプロセスAB22は、プロセス実行環境A20上で実行するアプリケーションに代表されるプロセスである。
プロセス実行環境B30は、プロセス実行環境A20上で動作するプロセス実行環境A20とは分離されたプロセス実行環境である。
プロセス実行環境B30は、第2のプロセス実行環境の例に相当する。
プロセスBA31とプロセスBB32は、プロセス実行環境B30上で実行するアプリケーションに代表されるプロセスである。
トレース部40は、プロセスAA21、プロセスAB22、プロセスBA31、プロセスBB32の挙動をトレースするプロセス実行環境A20上で動作する。
トレース部40は、トレース情報生成部の例でもある。
トレース記憶部41は、トレース部40にてトレースした挙動情報を記憶する。
プロセス管理部42は、プロセス実行環境B30上で動作する各プロセスを含むプロセス実行環境A20上で動作する各プロセスの起動終了等を管理する。
プロセス実行環境判断部43は、プロセス管理部42の情報を解析し、トレース情報に付加するためのプロセス実行環境情報を算出する。
プロセス実行環境管理テーブル44は、プロセス実行環境判断部43にて処理した情報を管理するテーブルである。
図2は、図1のプロセス実行環境A20についてレイヤ構造を示したものである。
図2において、計算機装置10からプロセスAB22までは図1と同一である。
プロセス実行環境A20は、カーネル24とユーザランドA23を用いてプロセスAA21及びプロセスAB22を制御する。
プロセス実行環境B30は、プロセス実行環境A20内のカーネル24を共用し、ユーザランドA23の一部機能とユーザランドB33を用いてプロセスBA31及びプロセスBB32を制御する。
この構成はLinux(登録商標)ではコンテナと呼ばれるものである。
図3はプロセス実行環境管理テーブル44の例である。
図3において、プロセスID101は、プロセス管理部42で管理している各プロセスに一意に決定されるプロセス番号を格納している。
タイムスタンプ102は、当該レコードをプロセス実行環境管理テーブル44に登録した時間を格納している。
プロセス名103は、プロセス管理部42で管理している各プロセスの実行名を格納している。
実行環境名104は、プロセス管理部42の情報を取得しプロセス実行環境判断部43にてプロセス実行環境を解析した結果を格納している。
図4はプロセス実行環境判断部43の処理フローである。
図4において処理201のトレース終了判断を行うまで、プロセス実行環境判断部43はプロセス実行環境A20にて実行されているプロセスIDの確認とプロセス実行環境管理テーブル44への登録を継続する。
処理202にて、プロセス実行環境判断部43は、プロセス実行環境管理テーブル44未登録プロセスの有無を確認し、未登録プロセスが存在した場合は処理203にて未登録プロセスのプロセス名とIDを取得する処理を実施する。
処理204にて、プロセス実行環境判断部43は、プロセス名がinitかどうかの判定を行い、initであれば処理205にてプロセスIDが1か否かを確認し、1であれば処理206にてプロセス実行環境管理テーブル44に実行環境Aのプロセス(プロセス名init)として登録する。
プロセスIDが1でなければ処理207にて、プロセス実行環境判断部43は、プロセス実行環境管理テーブル44に実行環境Bのプロセス(プロセス名init)として登録する。
なお、プロセス名がinitのプロセスは、最初に起動され、他のプロセスを起動する始点プロセスである。
処理204にてプロセスがinitプロセスでは無いと判断した場合は、プロセス実行環境判断部43は、処理208にてプロセスの親プロセスを確認する。
確認の結果処理209にて親プロセスが実行環境Aのinitプロセスの場合は、プロセス実行環境判断部43は、処理210にてプロセス実行環境管理テーブル44に実行環境Aのプロセス(プロセス名:モジュール名)を登録し、処理211にて親プロセスが実行環境Bのinitプロセスの場合は処理212にてプロセス実行環境管理テーブル44に実行環境Bのプロセス(プロセス名:モジュール名)を登録する。
処理209及び処理211にて親プロセスが実行環境Aのinitプロセス、実行環境Bのinitプロセスで無かった場合は、プロセス実行環境判断部43は、処理208にて確認した親プロセスについて更に処理208から処理213を実施してどちらのinitプロセスの属性なのかの調査を実施し、結果をプロセス実行環境管理テーブル44に登録する。
図5は、トレース記憶部41にて記憶されるトレース結果の例である。
図5において、ID301はトレース結果のシーケンス番号、タイムスタンプ302はトレースした時間、プロセスID303はトレースしたプロセスID、イベント304はトレースしたプロセスIDが実行したイベントである。
図6は、トレース記憶部41にて記憶されるトレース結果の例である。
図6において、ID401はトレース結果のシーケンス番号、タイムスタンプ402はトレースした時間、プロセスID403はトレースしたプロセスID、イベント404はトレースしたプロセスIDが実行したイベント、実行環境405は図3に示すプロセス実行環境管理テーブル44を用いて確認可能なプロセスID403が動作している実行環境である。
図6に示すトレース結果は、トレース情報の例に相当する。
図7はトレース部40の処理フローである。
図7において処理開始時、トレース部40は、処理501にて、プロセス実行環境判断部43を実行し、図4に示した処理をプロセス実行環境判断部43にて行う。
処理502にて、トレース部40は、ftraceやstrace等のLinux(登録商標)で使用する任意のトレースプログラムを実行する。
これらのトレースプログラムは少なくとも図5で示す情報を持っている。
処理503でトレースを終了するまで、プロセス実行環境判断部43とトレースプログラムは動作し、終了操作が行われると処理504にてftrace等の任意のトレースプログラムを終了し、処理505にてプロセス実行環境判断部43を終了する。
その後、トレース部40は、処理506にてプロセス実行環境管理テーブル44とトレース結果300をマージし、図6に示したトレース結果を出力する。
次に動作について説明する。
計算機装置10はLinux(登録商標)が動作しており、Linux(登録商標)のコンテナ機能によりプロセス実行環境A20上でプロセス実行環境B30が動作している。
図2ではプロセス実行環境A上でプロセスAA21とプロセスAB22が、プロセス実行環境BでプロセスBA31とプロセスBB32が動作していることを示しているが、これは動作を説明するための例であり、プロセス数は2に限定しない。
操作者がトレースを開始した際、図7に示す処理が実行され、処理501にてプロセス実行環境判断部43を実行し図4に示した処理がプロセス実行環境判断部43にて開始される。
プロセス実行環境AのinitプロセスのプロセスIDは1であるため、先ずに実行環境Aのinitプロセスがプロセス実行環境管理テーブル44に登録され、引き続き、プロセス実行環境A20の起動時に生成されたプロセスがプロセス実行環境管理テーブル44に登録される。
続いて、プロセス実行環境B30のinitが登録される。
プロセス実行環境B30のinitのプロセスIDは、プロセス実行環境A20から参照すると1ではないため、プロセス実行環境A20のinitプロセスとプロセス実行環境B30のinitプロセスが区別できることになる。
引き続き、プロセス実行環境A20またはプロセス実行環境B30上のプロセスがプロセス実行環境管理テーブル44に登録される。
次に、処理502にてftraceやstrace等のLinux(登録商標)で使用する任意のトレースプログラムを実行する。
ftraceやstrace等のLinux(登録商標)で使用する任意のトレースプログラムは既知のものであり、詳細の動作について説明は省略するが、少なくとも、図5に示すID301、タイムスタンプ302、プロセスID303、イベント304を出力する。
トレース終了後は処理504にて先ず任意のトレースプログラムを終了し、処理505にてプロセス実行環境判断部43を終了する。
次に処理506にてプロセス実行環境管理テーブル44とトレース結果300を用いてマージする。
マージする際、プロセス実行環境管理テーブル44のレコードにあるプロセスID101の番号とトレース結果300のレコードにあるプロセスID303の情報だけではなく、プロセス実行環境管理テーブル44のレコードにあるタイムスタンプ102の時間情報とトレース結果300のレコードにあるタイムスタンプ402の時間情報の情報を用い、プロセス実行環境管理テーブル44のプロセスIDが一致し、なおかつ、時間情報の差分が最小となるレコードに存在する実行環境名104をマージする。
これは、プロセスIDは再利用される場合があり、なおかつ、図8に示すとおりトレースログ記録の時間情報とプロセス実行環境管理テーブルの時間情報が前後する可能性を考慮するためである。
以上より、図6に示す既に説明した実行環境を含めたトレース結果を得ることができる。
従来の構成では図9に示す実行環境が考慮されないプロセスの動作状況のみが確認可能であったが、本実施の形態では、図6のトレース結果を用いることにより、図9のみならず、図10や図11に示すようにプロセス実行環境を考慮したプロセスの動作状況を確認することができる。
このため、各実行環境の動作状況が他の実行環境に影響されているかどうかの確認や、実行環境を跨った処理についての問題点把握が非常に容易となる効果が得られる。
実施の形態2.
以上の実施の形態1では、図6に示すトレース結果をトレース後にマージすることにより実現可能とするようにしたものであるが、次に図6に示すトレース結果を都度マージする場合の実施形態を示す。
図12はこのような場合のトレース部40の処理フローである。
図12において処理開始時、処理601にてプロセス実行環境判断部43を実行し、図4に示した処理をプロセス実行環境判断部43にて行う。
次に、処理602にてftraceやstrace等のLinux(登録商標)で使用する任意のトレースプログラムを実行する。
これらのトレースプログラムは少なくとも図5で示す情報を持っている。
処理603でトレース結果300のレコードにトレース結果400に存在しないレコードを検出した場合は、処理604にて該当レコードのプロセスIDがプロセス実行環境管理テーブルに登録されているかを確認し、登録がある場合は処理605にて当該レコードをマージしてトレース結果400のレコードに登録を行う。
処理604は、図8に示すとおりトレースログ記録の時間情報とプロセス実行環境管理テーブルの時間情報が前後する可能性を考慮したものである。
以上より、図6に示す既に説明した実行環境を含めたトレース結果を得ることができる。
従来の構成では図9に示す実行環境が考慮されないプロセスの動作状況のみが確認可能であったが、本実施の形態では、図6のトレース結果を用いることにより、図9のみならず、図10や図11に示すようにプロセス実行環境を考慮したプロセスの動作状況をリアルタイムで確認することができる。
このため、各実行環境の動作状況が他の実行環境に影響されているかどうかの確認や、実行環境を跨った処理についての問題点把握がリアルタイムで容易となる効果が得られる。
実施の形態3.
以上の実施の形態1では、プロセス実行環境判断部をポーリングにより動作させるものであるが、次に図13に示すプロセス実行環境判断部をイベントにより動作させる場合について説明する。
図13は、本実施の形態に係るプログラムトレースを行う計算機装置710を示す構成図である。
図13において、計算機装置710はCPUやメモリ、HDD、入力部などを備えたプロセス実行環境を実行するための装置である。
プロセス実行環境A720は、Linux(登録商標)のOS(Operating System)である。
プロセス実行環境A720は、第1のプロセス実行環境の例に相当する。
プロセスAA721とプロセスAB722は、プロセス実行環境A720上で実行するアプリケーションに代表されるプロセスである。
プロセス実行環境B730は、プロセス実行環境A720上で動作するプロセス実行環境A720とは分離されたプロセス実行環境である。
プロセス実行環境B730は、第2のプロセス実行環境の例に相当する。
プロセスBA731とプロセスBB732は、プロセス実行環境B730上で実行するアプリケーションに代表されるプロセスである。
トレース部740は、プロセスAA721、プロセスAB722、プロセスBA731、プロセスBB732の挙動をトレースするプロセス実行環境A720上で動作する。
トレース部740は、トレース情報生成部の例でもある。
トレース記憶部741は、トレース部740にてトレースした挙動情報を記憶する。
プロセス管理部742は、プロセス実行環境B730上で動作する各プロセスを含むプロセス実行環境A720上で動作する各プロセスの起動終了等を管理する。
プロセス実行環境判断部743は、プロセス管理部742の情報を解析し、トレース情報に付加するためのプロセス実行環境情報を算出する。
プロセス実行環境管理テーブル744は、プロセス実行環境判断部743にて処理した情報を管理するテーブルである。
図14は、図1のプロセス実行環境A720についてレイヤ構造を示したものである。
図14において、計算機装置710からプロセスAB722までは図1と同一である。
プロセス実行環境A720は、カーネル724とユーザランドA723を用いてプロセスAA721及びプロセスAB722を制御する。
プロセス実行環境B730は、プロセス実行環境A720内のカーネル724を共用し、ユーザランドA723の一部機能とユーザランドB733を用いてプロセスBA731及びプロセスBB732を制御する。
この構成はLinux(登録商標)ではコンテナと呼ばれるものである。
図15はプロセス実行環境判断部743の処理フローである。
図15において処理801のトレース終了判断を行うまで、プロセス実行環境判断部743はプロセス実行環境A720にて実行されているプロセスIDの確認とプロセス実行環境管理テーブル744への登録を継続する。
処理802にて、プロセス管理部742よりプロセス起動を通知するメッセージを受けた場合に、プロセス実行環境判断部743は、処理803にて起動プロセスのプロセス名とIDを取得する処理を実施する。
処理804にて、プロセス実行環境判断部743は、プロセス名がinitかどうかの判定をおこない、initであれば処理805にてプロセスIDが1か否かを確認し、1であれば処理806にてプロセス実行環境管理テーブル744に実行環境Aのプロセス(プロセス名init)として登録する。
プロセスIDが1でなければ処理807にて、プロセス実行環境判断部743は、プロセス実行環境管理テーブル744に実行環境Bのプロセス(プロセス名init)として登録する。
なお、プロセス名がinitのプロセスは、最初に起動され、他のプロセスを起動する始点プロセスである。
処理804にてプロセスがinitプロセスでは無いと判断した場合は、プロセス実行環境判断部743は、処理808にてプロセスの親プロセスを確認する。
確認の結果処理809にて親プロセスが実行環境Aのinitプロセスの場合は、プロセス実行環境判断部743は、処理810にてプロセス実行環境管理テーブル744に実行環境Aのプロセス(プロセス名:モジュール名)を登録し、処理811にて親プロセスが実行環境Bのinitプロセスの場合は処理812にてプロセス実行環境管理テーブル744に実行環境Bのプロセス(プロセス名:モジュール名)を登録する。
処理809及び処理811にて親プロセスが実行環境Aのinitプロセス、実行環境Bのinitプロセスで無かった場合は、プロセス実行環境判断部743は、処理808にて確認した親プロセスについて更に処理808から処理813を実施してどちらのinitプロセスの属性なのかの調査を実施し、結果をプロセス実行環境管理テーブル744に登録する。
以降は実施の形態1で説明した処理を行うことにより、実施の形態1で説明した図6に示す既に説明した実行環境を含めたトレース結果を得ることができ、なおかつ、ポーリングと比較しイベント待ちの場合は計算機装置710のCPUリソース負荷減少の効果が得られる。
従来の構成では図9に示す実行環境が考慮されないプロセスの動作状況のみが確認可能であったが、本実施の形態では、図6のトレース結果を用いることにより、図9のみならず、図10や図11に示すようにプロセス実行環境を考慮したプロセスの動作状況を確認することができる。
このため、各実行環境の動作状況が他の実行環境に影響されているかどうかの確認や、実行環境を跨った処理についての問題点把握が非常に容易となる効果が得られる。
実施の形態4.
以上の実施の形態3では、トレース中のCPU負荷を減少させ図6に示すトレース結果をトレース後にマージすることにより実現可能ものであるが、次に図6に示すトレース結果を都度マージする場合の実施形態を示す。
図12はこのような場合のトレース部の処理フローである。
図12において処理開始時、処理601にてプロセス実行環境判断部743を実行し図15に示した処理をプロセス実行環境判断部743にて行う。
次に、処理602にてftraceやstrace等のLinux(登録商標)で使用する任意のトレースプログラムを実行する。
これらのトレースプログラムは少なくとも図5で示す情報を持っている。
処理603でトレース結果300のレコードにトレース結果400に存在しないレコードを検出した場合は、処理604にて該当レコードのプロセスIDがプロセス実行環境管理テーブルに登録されているかを確認し、登録がある場合は処理605にて当該レコードをマージしてトレース結果400のレコードに登録を行う。
処理604は、図8に示すとおりトレースログ記録の時間情報とプロセス実行環境管理テーブルの時間情報が前後する可能性を考慮したものである。
以上より、図6に示す既に説明した実行環境を含めたトレース結果を得ることができる。
従来の構成では図9に示す実行環境が考慮されないプロセスの動作状況のみが確認可能であったが、本実施の形態では、図6のトレース結果を用いることにより、図9のみならず、図10や図11に示すようにプロセス実行環境を考慮したプロセスの動作状況をリアルタイムで確認することができる。
このため、各実行環境の動作状況が他の実行環境に影響されているかどうかの確認や、実行環境を跨った処理についての問題点把握がリアルタイムで容易となる効果が得られる。
最後に、実施の形態1〜4に示した計算機装置10、710のハードウェア構成例を図16を参照して説明する。
計算機装置10、710はコンピュータであり、計算機装置10、710の各要素をプログラムで実現することができる。
計算機装置10、710のハードウェア構成としては、バスに、演算装置901、外部記憶装置902、主記憶装置903、通信装置904、入出力装置905が接続されている。
演算装置901は、プログラムを実行するCPUである。
外部記憶装置902は、例えばROM(Read Only Memory)やフラッシュメモリ、ハードディスク装置である。
主記憶装置903は、RAM(Random Access Memory)である。
通信装置904は、例えば、NIC(Network Interface Card)である。
入出力装置905は、例えばマウス、キーボード、ディスプレイ装置等である。
プログラムは、通常は外部記憶装置902に記憶されており、主記憶装置903にロードされた状態で、順次演算装置901に読み込まれ、実行される。
プログラムは、図1及び図13に示す「〜部」(トレース記憶部41、741を除く、以下も同様)として説明している機能を実現するプログラムである。
更に、外部記憶装置902にはオペレーティングシステム(OS)も記憶されており、OSの少なくとも一部が主記憶装置903にロードされ、演算装置901はOSを実行しながら、図1及び図13に示す「〜部」の機能を実現するプログラムを実行する。
また、実施の形態1〜4の説明において、「〜の判断」、「〜の判定」、「〜の確認」、「〜の抽出」、「〜の設定」、「〜の登録」、「〜の選択」、「〜の生成」、「〜の入力」、「〜の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値が主記憶装置903にファイルとして記憶されている。
なお、図16の構成は、あくまでも計算機装置10、710のハードウェア構成の一例を示すものであり、計算機装置10、710のハードウェア構成は図16に記載の構成に限らず、他の構成であってもよい。
また、実施の形態1〜4に示す手順により、本発明に係るプロセス解析方法を実現可能である。
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
10 計算機装置、20 プロセス実行環境A、21 プロセスAA、22 プロセスAB、30 プロセス実行環境B、31 プロセスBA、32 プロセスBB、40 トレース部、41 トレース記憶部、42 プロセス管理部、43 プロセス実行環境判断部、44 プロセス実行環境管理テーブル、710 計算機装置、720 プロセス実行環境A、721 プロセスAA、722 プロセスAB、730 プロセス実行環境B、731 プロセスBA、732 プロセスBB、740 トレース部、741 トレース記憶部、742 プロセス管理部、743 プロセス実行環境判断部、744 プロセス実行環境管理テーブル。

Claims (9)

  1. 第1のプロセス実行環境が存在し、前記第1のプロセス実行環境内に第2のプロセス実行環境が存在する計算機装置であって、
    プロセスごとに、プロセスの挙動をトレースするトレース部と、
    プロセスごとに、プロセスが実行される実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断するプロセス実行環境判断部と、
    同一のプロセスに対する前記トレース部のトレース結果と前記プロセス実行環境判断部の判断結果とを組み合わせて、プロセスごとにトレース結果と実行環境とが記述されるトレース情報を生成するトレース情報生成部とを有することを特徴とする計算機装置。
  2. 前記プロセス実行環境判断部は、
    判断対象のプロセスである判断対象プロセスが、最初に起動され、他のプロセスを起動する始点プロセスであるか否かを判別し、
    前記判断対象プロセスが始点プロセスである場合に、当該始点プロセスが実行される実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断し、
    前記判断対象プロセスが始点プロセスでない場合に、前記判断対象プロセスの始点プロセスを特定し、当該始点プロセスに対して判断した実行環境が、前記判断対象プロセスが実行される実行環境であると判断することを特徴とする請求項1に記載の計算機装置。
  3. 前記トレース情報生成部は、
    前記トレース部のトレース結果に含まれるプロセス識別子と時刻情報と、前記プロセス実行環境判断部の判断結果に含まれるプロセス識別子と時刻情報とに基づいて、同一のプロセスに対する前記トレース部のトレース結果と前記プロセス実行環境判断部の判断結果とを判別し、
    判別したトレース結果と判断結果とを組み合わせて前記トレース情報を生成することを特徴とする請求項1に記載の計算機装置。
  4. 前記トレース情報生成部は、
    トレース対象のプロセスの全てに対して前記トレース部によるトレースが完了し、判断対象のプロセスの全てに対して前記プログラム実行環境判断部による実行環境の判断が完了した後に、前記トレース情報を生成することを特徴とする請求項1に記載の計算機装置。
  5. 前記トレース情報生成部は、
    いずれかのプロセスに対して前記トレース部によるトレースが完了し、前記プロセスに対して前記プログラム実行環境判断部による実行環境の判断が完了した場合に、前記トレース情報を生成することを特徴とする請求項1に記載の計算機装置。
  6. 前記プロセス実行環境判断部は、
    実行環境の判断が未実施であるプロセスを検出し、検出したプロセスの実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断することを特徴とする請求項1に記載の計算機装置。
  7. 前記プロセス実行環境判断部は、
    プロセスが生成された際に、生成されたプロセスを通知するメッセージを受信し、前記メッセージで通知されたプロセスの実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断することを特徴とする請求項1に記載の計算機装置。
  8. 第1のプロセス実行環境が存在し、前記第1のプロセス実行環境内に第2のプロセス実行環境が存在する計算機装置が行うプロセス解析方法であって、
    前記計算機装置が、プロセスごとに、プロセスの挙動をトレースするトレース処理と、
    前記計算機装置が、プロセスごとに、プロセスが実行される実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断するプロセス実行環境判断処理と、
    前記計算機装置が、同一のプロセスに対する前記トレース処理のトレース結果と前記プロセス実行環境判断処理の判断結果とを組み合わせて、プロセスごとにトレース結果と実行環境とが記述されるトレース情報を生成するトレース情報生成処理とを有することを特徴とするプロセス解析方法。
  9. 第1のプロセス実行環境が存在し、前記第1のプロセス実行環境内に第2のプロセス実行環境が存在する計算機装置に、
    プロセスごとに、プロセスの挙動をトレースするトレース処理と、
    プロセスごとに、プロセスが実行される実行環境が前記第1のプロセス実行環境及び前記第2のプロセス実行環境のいずれであるかを判断するプロセス実行環境判断処理と、
    同一のプロセスに対する前記トレース処理のトレース結果と前記プロセス実行環境判断処理の判断結果とを組み合わせて、プロセスごとにトレース結果と実行環境とが記述されるトレース情報を生成するトレース情報生成処理とを実行させることを特徴とするプログラム。
JP2014043890A 2014-03-06 2014-03-06 計算機装置及びプロセス解析方法及びプログラム Expired - Fee Related JP6272088B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014043890A JP6272088B2 (ja) 2014-03-06 2014-03-06 計算機装置及びプロセス解析方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014043890A JP6272088B2 (ja) 2014-03-06 2014-03-06 計算機装置及びプロセス解析方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015170084A true JP2015170084A (ja) 2015-09-28
JP6272088B2 JP6272088B2 (ja) 2018-01-31

Family

ID=54202786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014043890A Expired - Fee Related JP6272088B2 (ja) 2014-03-06 2014-03-06 計算機装置及びプロセス解析方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6272088B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328597A (ja) * 2006-06-08 2007-12-20 Mitsubishi Electric Corp コンピュータシステム、コンピュータシステムのトレースデータ蓄積方法およびトレースデータ蓄積プログラム
US20100064299A1 (en) * 2008-09-09 2010-03-11 Kace Networks, Inc. Deployment and Management of Virtual Containers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007328597A (ja) * 2006-06-08 2007-12-20 Mitsubishi Electric Corp コンピュータシステム、コンピュータシステムのトレースデータ蓄積方法およびトレースデータ蓄積プログラム
US20100064299A1 (en) * 2008-09-09 2010-03-11 Kace Networks, Inc. Deployment and Management of Virtual Containers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JONATHAN CORBET 他: "「Part3 上級編 知って得する 最新Linuxカーネルのツボ」", 日経LINUX, vol. 第16巻 第2号, JPN6017038390, 8 January 2014 (2014-01-08), JP, pages 第42頁-第56頁 *

Also Published As

Publication number Publication date
JP6272088B2 (ja) 2018-01-31

Similar Documents

Publication Publication Date Title
US10348747B2 (en) Non-transitory computer-readable recording medium storing cyber attack analysis support program, cyber attack analysis support method, and cyber attack analysis support device
US10042669B2 (en) Concurrent execution of a computer software application along multiple decision paths
KR102301946B1 (ko) 분산 시스템에서 결함을 분석하기 위한 비주얼 툴
CN110865867A (zh) 应用拓扑关系发现的方法、装置和系统
US9323649B2 (en) Detecting error states when interacting with web applications
US9396233B2 (en) Alert management
US11048799B2 (en) Dynamic malware analysis based on shared library call information
US20180341769A1 (en) Threat detection method and threat detection device
US20230376478A1 (en) Verifying structured data
JP2010003224A (ja) テスト情報管理サーバ、テスト情報管理方法、およびプログラム
US20160112285A1 (en) Apparatus and method for detecting abnormal connection
JP6238221B2 (ja) ソフトウェアの実行を監視する装置、方法およびプログラム
JP6505849B2 (ja) 要素識別子の生成
JP2013222422A (ja) プログラム、情報処理装置、及び情報処理方法
US9959133B2 (en) Identification and removal of zombie virtual machines
US10235264B2 (en) Method and system for monitoring health of a virtual environment
JP6272088B2 (ja) 計算機装置及びプロセス解析方法及びプログラム
US20140172369A1 (en) Computer-readable recording medium, abnormality cause estimating apparatus, and abnormality cause estimating method
JP6536680B2 (ja) 情報処理装置、情報処理方法、およびプログラム
EP3639135A2 (en) Apparatuses, methods and systems for persisting values in a computing environment
US20130111449A1 (en) Static analysis with input reduction
JP2019028689A (ja) 不要ファイル検出装置、不要ファイル検出方法および不要ファイル検出プログラム
US8856634B2 (en) Compensating for gaps in workload monitoring data
US9830253B2 (en) Eliminating redundant interactions when testing computer software applications
US10102100B2 (en) Optimizing automated interactions with computer software applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171122

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: 20171205

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171228

R150 Certificate of patent or registration of utility model

Ref document number: 6272088

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees