JP2011039903A - プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法 - Google Patents

プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法 Download PDF

Info

Publication number
JP2011039903A
JP2011039903A JP2009188219A JP2009188219A JP2011039903A JP 2011039903 A JP2011039903 A JP 2011039903A JP 2009188219 A JP2009188219 A JP 2009188219A JP 2009188219 A JP2009188219 A JP 2009188219A JP 2011039903 A JP2011039903 A JP 2011039903A
Authority
JP
Japan
Prior art keywords
program
identification information
list
application program
switching
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
JP2009188219A
Other languages
English (en)
Other versions
JP5423232B2 (ja
Inventor
Satoshi Hirai
聡 平井
Koichi Kumon
耕一 久門
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009188219A priority Critical patent/JP5423232B2/ja
Priority to US12/856,010 priority patent/US8271711B2/en
Publication of JP2011039903A publication Critical patent/JP2011039903A/ja
Application granted granted Critical
Publication of JP5423232B2 publication Critical patent/JP5423232B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】プログラムの生成、消滅の状態を判定することができるプログラム状態検知プログラムを提供する。
【解決手段】プログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、無効化があると割り込みを発生させる機構を持つCPUを有するコンピュータに、プログラムの識別情報をオペレーティングシステムから取得してリストに記憶し、プログラムの切替えが生じた場合に発生する、CPUからの割り込みを検知した場合、オペレーティングシステムまたは機構から切替え先のプログラムの識別情報を取得し、リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する処理を実行させるためのプログラム状態検知プログラムを提供する。
【選択図】図2

Description

本発明は、コンピュータ上で稼動しているプロセスの状態を検知する技術に関する。
コンピュータシステムにおいて、システム全体の動作分析、あるいは不正なプログラム(スレッドおよびプロセス)の実行を監視するために、プログラムの生成、消滅をロギングすることが行われている。
昨今のCPU(Central Processing Unit)の多くは、クロック数、実行命令数、キャッシュミス数などCPU内部のイベントおよび外部とのやり取りのイベントをカウントする機構である性能モニタリングカウンタを有している。また、これらの性能モニタリングカウンタは、指定されたイベントを検知した際に、特定のあるいは指定されたベクタに割り込みを発生させる機能を有し、イベント発生時の付随情報を採取することを可能としている。
特開2008−257405号公報
ターゲットコンピュータでのプログラムの生成、消滅の監視を行うために、従来は以下のような手法を取っている。
(1)OS(Operating System)内部を改変し、プログラムの生成、消滅のログを採取できるようにする。あるいは、このロギングを外部プログラムで行えるようにするためのインタフェースを、OSを改変することでOS内部に設ける。
(2)1ms毎のタイマー割り込みなど、一定間隔でプログラムの監視を行うことで、新たに生成あるいは消滅したプログラムを検出する。
上記(1)の手法では、OS自体の改変が必要となるが、商用OSを使用する場合は改変を行うことに制約があることが多い。また、OSを改変する場合でも、OS自身が有する機能によって制限がある場合が多い。上記(2)の手法では、一定間隔での監視となるため、その間隔内で生成し、消滅するプログラムを捕捉することができない。また、このように短期間で生成、消滅するプログラムを捕捉するために監視間隔を短くした場合、監視処理のオーバヘッドが大きくなり、システム動作そのものに影響を及ぼす問題がある。
開示する技術は上述した問題点を解決するためになされたものであり、多くの商用CPUが有している性能モニタリングカウンタを使用することで、コンピュータシステム上でのプログラムの生成、消滅の情報を採取することができる技術を提供することを目的とする。
プログラム状態検知プログラムは、アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、無効化があると割り込みを発生させる機構を持つCPUを有するコンピュータに、アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成手順、アプリケーションプログラムの切替えが生じた場合に発生する、CPUからの割り込みを検知する検知手順、割り込みが検知されると、オペレーティングシステムまたは機構から切替え先のアプリケーションプログラムの識別情報を取得し、リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定手順、を実行させる。
OSを改変する、あるいは監視精度やオーバヘッドによる影響を考慮することなくプログラムの生成、消滅の状態を判定することができ、これによりプログラムの生成、消滅のログを正確に採取することができる。
本実施の形態に係るプログラム状態検知装置のハードウェア構成の一例を示す図である。 本実施の形態に係るプログラム状態検知装置の階層の一例、および機能ブロックの一例を示す図である。 ページング方式での管理およびCPU内で保持されているページテーブルレジスタ、TLB(TRANSLATION LOOKASIDE BUFFERS)を説明する模式図である。 本実施の形態に係るプログラム状態検知装置の動作の一例を示すフローチャートである。 本実施の形態に係る、プロセスの識別情報の一覧を例示する図である。 本実施の形態に係る性能モニタリングカウンタの設定例を説明する図である。 本実施の形態に係るロギングデータの一例を示す図である。 本実施の形態に係るプログラム状態検知装置に適用可能なコンピュータシステムのハードウェア構成の一例を示す図である。
本実施の形態について説明する。以降の説明では、ロギングする対象をプロセスとするが、本実施の形態は、スレッドやタスクに対しても適用可能である。
図1は、本実施の形態に係るプログラム状態検知装置のハードウェアの構成を示す模式図である。プログラム状態検知装置100(情報処理装置)は、CPU(Central Processing Unit)40、メモリ50、ディスクドライブ60、入出力部70、I/O部80、不揮発性記憶部90を有する。
CPU40は、不揮発性記憶部90に予め導入されているプログラムに基づき演算処理を実行し、またプログラム状態検知装置100内の機器を制御する中央演算処理部である。またCPU40は、性能モニタリングカウンタ41を有する。性能モニタリングカウンタ41は、計測イベントとして、OS30(後述)がプロセスの切替えの際に行うTLBエントリ無効化を計測することができる。また性能モニタリングカウンタ41は、イベントの任意回数毎に割り込み通知を発生させる機能を持つ。
メモリ50は、不揮発性記憶部90に予め導入されたプログラムが展開され、またCPU40の演算処理に必要なデータを記憶する揮発性の記憶部である。
ディスクドライブ60は、可搬型記録媒体からデータを読み書きする。入出力部70は、キーボード、マウス等、ユーザからプログラム状態検知装置100に対するデータの入力を受付け、また、モニタ、プリンタ等のCPU40による処理結果をユーザに表示するユニットである。I/O部80は、外部の機器との通信を制御する。不揮発性記憶部90は、HDD(Hard Disk Drive)、フラッシュメモリ等、電源が切断された場合でもデータが消えないように、データを不揮発性に記憶するユニットである。
図2に、本実施の形態に係るプログラム状態検知装置100の階層および機能ブロックの一例を示す。プログラム状態検知装置100は、アプリケーション・プログラム10、プログラムロギングプログラム20(プログラム状態検知プログラム)、OS30の各プログラムを有する。
アプリケーション・プログラム10は、プログラムロギングプログラム20にロギングの開始指示を行い、またプログラムロギングプログラム20からロギングデータ27を取得し、入出力部70にロギングデータ27を表示する上位プログラムである。OS30は、デバイスドライバを組み込むことが可能なOSであり、またページング方式で記憶領域の管理を行うことが可能なOSである。
プログラムロギングプログラム20はデバイスドライバであり、プログラムロギングプログラム20と、CPU40、メモリ50等、図1で示したハードウェア資源とが協働することで、設定部21、PIDリスト作成部22、検知部24、プロセス判定部25が実現される。次に、設定部21、PIDリスト作成部22、検知部24、プロセス判定部25について説明する。
設定部21は、いずれのイベントが生じた場合に割り込み通知を行うかが定義された設定ファイルに基づいて、その内容を性能モニタリングカウンタ41に設定する。なお、本実施の形態において、設定ファイルには、TLB無効化のイベントが1回発生するごとに割り込みを通知することが定義されているものとする。
PIDリスト作成部22は、現在稼動しているプロセスの識別情報(PID)の一覧をOS30より取得し、PIDリスト26を作成する。
検知部24は、プロセスの切替えが生じた場合に発生する、性能モニタリングカウンタ41からの割り込み通知を検知する。
プロセス判定部25は、検知部24によって割り込み通知が検知された場合、切替え前後のプロセスのPIDを取得し、切替え前後のプロセスが生成または消滅したかどうかを判定する。この判定は、PIDリスト26またはOS30から取得されるPIDの一覧と、取得した切替え前後のプロセスのPIDとの比較によりなされる。また、プロセス判定部25は、プロセスの生成または消滅が生じた場合に、ロギングデータ27にいずれのプロセスが生成または消滅したかを出力する。さらに、プロセス判定部25は、生成されたプロセスがある場合、そのプロセスのPIDをPIDリスト26に追加し、消滅したプロセスがある場合、そのプロセスのPIDをPIDリスト26から削除する。
プログラムロギングプログラム20はデバイスドライバであるため、OS30のプログラムコードを直接改変することなく、動的にOS30に組み込まれる。
次に、プログラムの生成、消滅、およびプログラムの切替え時の動作について説明する。
OS30は、起動するプロセスをCPU40上に割当てるために、また終了するプロセスをCPU上から解放するために、現在CPU40で処理しているプロセスの切替え処理を行う。
OS30は、プロセスを生成する際に、生成するプロセス用のメモリやファイルなどの資源を割当てるための管理情報を、メモリ50の管理用領域に作成し、メモリ50上に新たなプログラム空間の作成を行う。また、OS30は、生成したメモリ50上のプログラム空間に、プログラムイメージをロードする。この際に、引数などの情報もプログラム空間にコピーされる。
OS30は、現在実行中のプロセスから新たに生成されたプロセスに切替える処理を行い、生成されたプロセスを、プログラムイメージの開始アドレスから実行する。また、プロセスが終了する際、OS30は使用していたプログラム空間や管理情報が使用している資源を解放し、他のプロセスへ切替えを行う。
また、OS30はプロセスの切替えを行う際に、CPU40内のレジスタの値などの設定値や現在動作しているプロセスのOS内固有情報を、次に動作するプロセスの値に変更する。
図3を参照しつつ、ページング方式による記憶領域の管理について説明する。OS30は、図3に示すようにプロセス毎に仮想アドレス(論理ページ番号)と物理アドレス(物理ページ番号)の変換のためのテーブルであるページテーブル51をメモリ50内に用意する。OS30は、プロセスの切替えの際に、CPU40内のページテーブルレジスタ43に保持されているアドレスであって、現在実行しているプロセスに対応するページテーブルのアドレスを、次に実行するプロセスに対応したページテーブルのアドレスへ切り換える。さらにOS30は、CPU40内でページテーブルのためのキャッシュとして機能しているTLB42のエントリを無効化する。
設定部21は、OS30がプロセスの切替えを行う時になされるTLBエントリの無効化を性能モニタリングカウンタ41が検出するよう設定する。また、このように設定された性能モニタリングカウンタ41は、プロセスの切替えが発生する毎に割り込みを通知する。検知部24は、この割り込み通知を取得することプロセスの切替えがあったことを検知し、プロセス判定部25は、プログラムの生成、消滅の判定処理を行う。
次に、プログラム状態検知装置100の動作について、図4のフローチャートを参照しつつ説明する。
プロセスロギングプログラム20は、アプリケーション・プログラム10からロギングの開始指示を取得する(S1)。開始指示を受けたプログラムロギングプログラム20のPIDリスト作成部22は、現在稼動している全てのプロセスのPIDをOS30から取得し、図5で示すPIDリスト26をメモリ50に作成する(S2)。
アプリケーション・プログラム10のロギングの開始指示によって、設定部21は、性能モニタリングカウンタ41に対し、複数あるカウンタからTLBエントリ無効化のイベントをカウントするように設定することで、ロギングを開始する(S3)。図6に、性能モニタリングカウンタ41の設定内容について示す。設定部21は、TLBエントリ無効化(TLB Flash)のイベントが1回発生する毎に割り込みを発生させるように設定し、割り込みを有効化(割り込みon)にする。このように性能モニタリングカウンタ41が設定されることで、プロセスの切替えが発生する毎に割り込み通知がなされる。
プロセスの切替えが発生した場合(S4、Yes)、検知部24は、性能モニタリングカウンタ41からの割り込み通知を検知する(S5)。尚、プログラムロギングプログラム20は、プロセスの切替えが発生するまで待機状態となる(S4、Noによるループ)。
プロセス判定部25は、切替え前(切替え元)と切替え後(切替え先)の2つのプロセスのPIDを取得する(S6)。切替え前後のプロセスのPIDは、性能モニタリングカウンタ41がPIDを管理している場合は性能モニタリングカウンタ41から取得され、OS30がPIDを管理している場合はOS30から取得される。
プロセス判定部25は、PIDリスト26に切替え後のプロセスのPIDが存在するかを判定する(S7)。切替え後のプロセスのPIDがPIDリスト26に存在しなければ(S7、No)、プロセス判定部25は、そのプロセスは新たに生成されたプロセスであるとして、PIDリスト26にそのプロセスのPIDを追加する(S8)。プロセス判定部25は、図7で示すようなプロセス名、引数、生成された時刻情報などの付随情報をロギングデータ27に記録する(S9)。その後、処理はステップS4へ戻る。
切替え後のプロセスのPIDがPIDリスト26に存在する場合(S7、Yes)、プロセス判定部25は、切替え前のプロセスのPIDが現存するかを、OS30から現在稼動しているプロセスのPID一覧(第2の識別情報の一覧)を取得することで判定する(S10)。切替え前のプロセスのPIDが現存しない場合(S10、No)、プロセス判定部25は、切替え前のプロセスは消滅したプロセスであるとしてPIDリスト26から切替え前のプロセスのPIDを削除し(S11)、消滅した時刻情報などの付随情報をロギングデータ27に記録する(S12)。その後、処理はステップS4へ戻る。
本実施の形態では、切替え前のプロセスが消滅しているかどうかの判定がなされた後に、切替え前のプロセスのPIDをPIDリスト26から削除するため、その判定時には、PIDリスト26内には未だ切替え前のプロセスのPIDがエントリされたままとなる。よって、本実施の形態では、ステップS10での切替え前のプロセスが消滅しているかの判定ではPIDリスト26を用いず、OSからPIDの一覧を取得する。
切替え前のプロセスのPIDが現存する場合(S10、Yes)、切替え前後のプロセスのPIDが共に現存していることとなるため、プロセス判定部25は、今回のプロセスの切替えはプロセスの生成、消滅を伴わない通常の切替え処理であると判定し、ロギングを行わずにステップS4へ戻る。
プログラムロギングプログラム20は、アプリケーション・プログラム10からの要求に応じて、ロギングデータ27を出力する。また、図4で示した処理は、終了指示をユーザやアプリケーションから取得することで終了する。
本実施の形態によって、従来ではOSに手を加えたり、あるいは監視精度やオーバヘッドによる影響を考慮したりしなければ採取できなかったプログラムの生成、消滅のロギングを正確に採取できるようになる。
また、性能モニタリングカウンタは現存するCPUが通常有しており、TLBエントリ無効化イベントも現存する多くのCPUで計測可能である。このため、現存する多くのコンピュータで、ハードウェアやOSに対し一切変更することなく本実施の形態による手法を実現できるため、本実施の形態は適用範囲が広い。
本発明は以下に示すようなコンピュータシステムにおいて適用可能である。図8は、本発明が適用されるコンピュータシステムの一例を示す図である。図8に示すコンピュータシステム920は、CPUやディスクドライブ等を内蔵した本体部901、本体部901からの指示により画像を表示するディスプレイ902、コンピュータシステム920に種々の情報を入力するためのキーボード903、ディスプレイ902の表示画面902a上の任意の位置を指定するマウス904及び外部のデータベース等にアクセスして他のコンピュータシステムに記憶されているプログラム等をダウンロードする通信装置905を有する。通信装置905は、ネットワーク通信カード、モデムなどが考えられる。
上述したような、プロセス状態検知装置を構成するコンピュータシステムにおいて上述した各ステップを実行させるプログラムを、プロセス状態検知プログラムとして提供することができる。このプログラムは、コンピュータシステムにより読取り可能な記録媒体に記憶させることによって、プロセス状態検知装置を構成するコンピュータシステムに実行させることが可能となる。上述した各ステップを実行するプログラムは、ディスク910等の可搬型記録媒体に格納されるか、通信装置905により他のコンピュータシステムの記録媒体906からダウンロードされる。また、コンピュータシステム920に少なくともプロセス状態検知機能を持たせるプロセス状態検知プログラム(プロセス状態検知ソフトウェア)は、コンピュータシステム920に入力されてコンパイルされる。このプログラムは、コンピュータシステム920をプロセス状態検知機能を有するプロセス状態検知装置として動作させる。また、このプログラムは、例えばディスク910等のコンピュータ読み取り可能な記録媒体に格納されていても良い。ここで、コンピュータシステム920により読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、ディスク910やフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータシステム並びにそのデータベースや、通信装置905のような通信手段を介して接続されるコンピュータシステムでアクセス可能な各種記録媒体を含む。
以上、本実施の形態によれば、以下の付記で示す技術的思想が開示されている。
(付記1) アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、前記無効化があると割り込みを発生させる機構を持つCPUを有するコンピュータに、
アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成手順、
アプリケーションプログラムの切替えが生じた場合に発生する、前記CPUからの割り込みを検知する検知手順、
割り込みが検知されると、前記オペレーティングシステムまたは前記機構から切替え先のアプリケーションプログラムの識別情報を取得し、前記リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定手順、
を実行させるためのプログラム状態検知プログラム。
(付記2) 前記判定手順は、切替え先の識別情報が前記リストに存在しない場合、新たに生成されたアプリケーションプログラムと判断し、前記切替え先の識別情報を前記リストに追加して、ロギングデータを記録する、
付記1記載のプログラム状態検知プログラム。
(付記3) 前記判定手順は、切替え先の識別情報が前記リストに存在する場合、前記オペレーティングシステムからアプリケーションプログラムの第2の識別情報の一覧を取得し、
切替え元の識別情報が取得した第2の識別情報の一覧に存在する場合、切替え元の識別情報に係るアプリケーションプログラムが現存すると判断し、前記ロギングデータを記録せず、
切替え元の識別情報が取得した第2の識別情報の一覧に存在しない場合、切替え元の識別情報に係るアプリケーションプログラムが消滅したと判断し、前記リストから削除し、ロギングデータを記録する、
付記1記載のプログラム状態検知プログラム。
(付記4) アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、前記無効化があると割り込みを発生させる機構を持つCPUと、
アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成部と、
アプリケーションプログラムの切替えが生じた場合に発生する、前記CPUからの割り込みを検知する検知部と、
割り込みが検知されると、前記オペレーティングシステムまたは前記機構から切替え先のアプリケーションプログラムの識別情報を取得し、前記リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定部と、
を有する情報処理装置。
(付記5) 前記判定部は、切替え先の識別情報が前記リストに存在しない場合、新たに生成されたアプリケーションプログラムと判断し、前記切替え先の識別情報を前記リストに追加して、ロギングデータを記録する、
付記4記載の情報処理装置。
(付記6) 前記判定部は、切替え先の識別情報が前記リストに存在する場合、前記オペレーティングシステムからアプリケーションプログラムの第2の識別情報の一覧を取得し、
切替え元の識別情報が取得した第2の識別情報の一覧に存在する場合、切替え元の識別情報に係るアプリケーションプログラムが現存すると判断し、前記ロギングデータを記録せず、
切替え元の識別情報が取得した第2の識別情報の一覧に存在しない場合、切替え元の識別情報に係るアプリケーションプログラムが消滅したと判断し、前記リストから削除し、ロギングデータを記録する、
付記4記載の情報処理装置。
(付記7) アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、前記無効化があると割り込みを発生させる機構を持つCPUを有するコンピュータが、
アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成手順、
アプリケーションプログラムの切替えが生じた場合に発生する、前記CPUからの割り込みを検知する検知手順、
割り込みが検知されると、前記オペレーティングシステムまたは前記機構から切替え先のアプリケーションプログラムの識別情報を取得し、前記リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定手順、
を実行するプログラム状態検知方法。
(付記8) 前記判定手順は、切替え先の識別情報が前記リストに存在しない場合、新たに生成されたアプリケーションプログラムと判断し、前記切替え先の識別情報を前記リストに追加して、ロギングデータを記録する、
付記7記載のプログラム状態検知方法。
(付記9) 前記判定手順は、切替え先の識別情報が前記リストに存在する場合、前記オペレーティングシステムからアプリケーションプログラムの第2の識別情報の一覧を取得し、
切替え元の識別情報が取得した第2の識別情報の一覧に存在する場合、切替え元の識別情報に係るアプリケーションプログラムが現存すると判断し、前記ロギングデータを記録せず、
切替え元の識別情報が取得した第2の識別情報の一覧に存在しない場合、切替え元の識別情報に係るアプリケーションプログラムが消滅したと判断し、前記リストから削除し、ロギングデータを記録する、
付記7記載のプログラム状態検知方法。
10 アプリケーション・プログラム、20 プログラムロギングプログラム、21 設定部、22 PIDリスト作成部、24 検知部、25 プロセス判定部、26 PIDリスト、27 ロギングデータ、30 OS、40 CPU、41 性能モニタリングカウンタ、50 メモリ、60 ディスクドライブ、70 入出力部、80 I/O部、90 不揮発性記憶部、100 プログラム状態検知装置。

Claims (5)

  1. アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、前記無効化があると割り込みを発生させる機構を持つCPUを有するコンピュータに、
    アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成手順、
    アプリケーションプログラムの切替えが生じた場合に発生する、前記CPUからの割り込みを検知する検知手順、
    割り込みが検知されると、前記オペレーティングシステムまたは前記機構から切替え先のアプリケーションプログラムの識別情報を取得し、前記リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定手順、
    を実行させるためのプログラム状態検知プログラム。
  2. 前記判定手順は、切替え先の識別情報が前記リストに存在しない場合、新たに生成されたアプリケーションプログラムと判断し、前記切替え先の識別情報を前記リストに追加して、ロギングデータを記録する、
    請求項1記載のプログラム状態検知プログラム。
  3. 前記判定手順は、切替え先の識別情報が前記リストに存在する場合、前記オペレーティングシステムからアプリケーションプログラムの第2の識別情報の一覧を取得し、
    切替え元の識別情報が取得した第2の識別情報の一覧に存在する場合、切替え元の識別情報に係るアプリケーションプログラムが現存すると判断し、前記ロギングデータを記録せず、
    切替え元の識別情報が取得した第2の識別情報の一覧に存在しない場合、切替え元の識別情報に係るアプリケーションプログラムが消滅したと判断し、前記リストから削除し、ロギングデータを記録する、
    請求項1または2記載のプログラム状態検知プログラム。
  4. アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、前記無効化があると割り込みを発生させる機構を持つCPUと、
    アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成部と、
    アプリケーションプログラムの切替えが生じた場合に発生する、前記CPUからの割り込みを検知する検知部と、
    割り込みが検知されると、前記オペレーティングシステムまたは前記機構から切替え先のアプリケーションプログラムの識別情報を取得し、前記リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定部と、
    を有する情報処理装置。
  5. アプリケーションプログラムの切替えの際にオペレーティングシステムがトランスレーション・ルックアサイド・バッファの無効化を計測でき、前記無効化があると割り込みを発生させる機構を持つCPUを有するコンピュータが、
    アプリケーションプログラムの識別情報をオペレーティングシステムから取得してリストに記憶する作成手順、
    アプリケーションプログラムの切替えが生じた場合に発生する、前記CPUからの割り込みを検知する検知手順、
    割り込みが検知されると、前記オペレーティングシステムまたは前記機構から切替え先のアプリケーションプログラムの識別情報を取得し、前記リストと取得した識別情報を比較して、切替え先のプログラムが生成または消滅されるプログラムであるかを判定する判定手順、
    を実行するプログラム状態検知方法。
JP2009188219A 2009-08-17 2009-08-17 プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法 Expired - Fee Related JP5423232B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009188219A JP5423232B2 (ja) 2009-08-17 2009-08-17 プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法
US12/856,010 US8271711B2 (en) 2009-08-17 2010-08-13 Program status detecting apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009188219A JP5423232B2 (ja) 2009-08-17 2009-08-17 プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法

Publications (2)

Publication Number Publication Date
JP2011039903A true JP2011039903A (ja) 2011-02-24
JP5423232B2 JP5423232B2 (ja) 2014-02-19

Family

ID=43589306

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009188219A Expired - Fee Related JP5423232B2 (ja) 2009-08-17 2009-08-17 プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法

Country Status (2)

Country Link
US (1) US8271711B2 (ja)
JP (1) JP5423232B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010219A (ja) * 2015-06-19 2017-01-12 富士通株式会社 制御プログラム、制御方法、及び、情報処理装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5326708B2 (ja) * 2009-03-18 2013-10-30 富士通株式会社 演算処理装置および演算処理装置の制御方法
CN103744772A (zh) * 2014-01-28 2014-04-23 北京经纬恒润科技有限公司 一种检测任务运行性能的方法和系统
US10162763B2 (en) * 2015-11-30 2018-12-25 International Business Machines Corporation Invalidation of translation look-aside buffer entries by a guest operating system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215816A (ja) * 2004-01-28 2005-08-11 Hitachi Ltd ハードウェアモニタを用いた性能プロファイリング方法
JP2007272692A (ja) * 2006-03-31 2007-10-18 Fujitsu Ltd プロファイリングプログラムおよびプロファイリング方法
JP2008102778A (ja) * 2006-10-19 2008-05-01 Fujitsu Ltd 情報処理装置、情報処理装置の制御方法及びプログラム
JP2009048358A (ja) * 2007-08-17 2009-03-05 Nec Corp 情報処理装置及びスケジューリング方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895382B2 (en) * 2004-01-14 2011-02-22 International Business Machines Corporation Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs
US7386669B2 (en) * 2005-03-31 2008-06-10 International Business Machines Corporation System and method of improving task switching and page translation performance utilizing a multilevel translation lookaside buffer
JP2008257405A (ja) 2007-04-03 2008-10-23 Toshiba Corp 計算機動作情報記録装置
JP5119994B2 (ja) * 2008-03-14 2013-01-16 富士通株式会社 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005215816A (ja) * 2004-01-28 2005-08-11 Hitachi Ltd ハードウェアモニタを用いた性能プロファイリング方法
JP2007272692A (ja) * 2006-03-31 2007-10-18 Fujitsu Ltd プロファイリングプログラムおよびプロファイリング方法
JP2008102778A (ja) * 2006-10-19 2008-05-01 Fujitsu Ltd 情報処理装置、情報処理装置の制御方法及びプログラム
JP2009048358A (ja) * 2007-08-17 2009-03-05 Nec Corp 情報処理装置及びスケジューリング方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017010219A (ja) * 2015-06-19 2017-01-12 富士通株式会社 制御プログラム、制御方法、及び、情報処理装置

Also Published As

Publication number Publication date
JP5423232B2 (ja) 2014-02-19
US20110041014A1 (en) 2011-02-17
US8271711B2 (en) 2012-09-18

Similar Documents

Publication Publication Date Title
TWI304548B (en) Method, system, computer readable recording medium recording instructions for counting instruction execution and data accesses for specific types of instructions
US9081629B2 (en) Excluding counts on software threads in a state
JP5353227B2 (ja) 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。
US9003146B2 (en) Managing memory of a computer
JP6058012B2 (ja) ランタイム・インスツルメンテーションを使用してプロセッサのプロセッサ特性情報をモニターするためのコンピュータ・プログラム・プロダクト、方法、およびシステム(プロセッサ特性のランタイム・インスツルメンテーション・モニタリング)
US10620877B2 (en) Managing a collection of data
CN108475236B (zh) 测量地址转换延迟
JP4562568B2 (ja) 異常検出プログラムおよび異常検出方法
US20150006961A1 (en) Capturing trace information using annotated trace output
JP6904049B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2004199685A (ja) 繰返し命令の追跡許可
KR20110052470A (ko) 대칭형 멀티 프로세서 로크 트레이싱
JP5423232B2 (ja) プロセス状態検知プログラム、情報処理装置、プロセス状態検知方法
Krahn et al. TEEMon: A continuous performance monitoring framework for TEEs
Vasavada et al. Comparing different approaches for incremental checkpointing: The showdown
JP6237230B2 (ja) メモリ管理プログラム、メモリ管理方法、及びメモリ管理装置
JP5392263B2 (ja) 情報処理装置及びそのメモリ保護方法
JP4992740B2 (ja) マルチプロセッサシステム、障害検出方法および障害検出プログラム
US20110252256A1 (en) Methods, systems, and computer program products for managing an idle computing component
KR20170060815A (ko) 메모리의 커널영역을 보호하기 위한 전자장치 및 방법
JP5133649B2 (ja) 電子機器およびメモリ管理プログラム
WO2009147738A1 (ja) 情報処理装置及びその制御方法並びにモニタプログラム
KR20210087431A (ko) 트랜잭션 메모리를 위한 장치 및 데이터 처리 방법
JP4973149B2 (ja) 仮想計算機の性能モニタ方法および計算機システム
JP4974638B2 (ja) シミュレーション装置及びシミュレーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130806

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131007

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees