2013年3月6日水曜日

[Windows][Sysinternals]Process Monitor



Process Monitor はプロセスが利用したファイル、レジストリやネットワークについての情報を取得します。

デフォルトで起動した状態では膨大なイベントが発生しては過ぎ去っていくので取り方を決めてあげる必要があります。


使い方① 特定のプロセスの情報を取る

取得したいプロセスが決まっている場合にはフィルタをかけてあげればいいです。
[Filter]→[Filter...]を選択します。

デフォルトでいくつかフィルタされています。

そして出てきたダイアログで、例えば [ PID ] [ is ] [ 996 ] then [ Include ] と指定してあげれば、プロセス ID が 996 のイベントのみ表示されるようになります。
[ Reset ]でもとのデフォルトの設定に戻すことができます。



使い方② 特定の動作の情報を取る

ファイルアクセスであるとか、ネットワークであるとか特定の動作に絞ってイベントを表示できます。
ツールバー上のボタンでオン/オフの設定ができ、左から順に【レジストリ】、【ファイル アクセス】、【ネットワーク アクセス】、【プロセスやスレッド】です。


使い方③ 取得した情報を保存する

取得した情報をファイルに保存します。

フィルタを設定しキャプチャしたいところにしておきます。
その状態で、1、キャプチャを停止して、2.イベントをクリアします。

取得したいところでキャプチャを開始、終了したいところでキャプチャを停止します。
どちらも同じボタンを利用します。

取得が終わったら SAVE します。

PML という形式で保存しておけば後で読み込み直して参照できます。


使い方④ ブート時のログを取る

OS が起動したときのブート時のログを取ることができます。
[Options]→[Enable Boot Logging]を指定します。

この時出るオプションはどう指定しても別にいいです。

リブートします。
リブートしたときのパフォーマンスはすごく遅いです。

そしてログインして再度 Process Monitor を起動します。
起動時にダイアログが表示されます。保存しますかと表示されているので、「はい」を選択して名前を付けて保存します。

処理するのにしばらくかかります。

[Filter]→[Filter...]で、フィルタ設定画面を開きます。
Process Name is System, Exclude を削除します。

後は見たいプロセスに絞ってみるなり、不要なプロセスをはずしながら見るなりして調査します。

Sysinternals Suite のページに戻る


0 件のコメント:

コメントを投稿