プロセス別の%CPUのログ


39

Windowsで、後で分析するために、プロセスごとの%CPU時間をファイルに記録する簡単な方法はありますか?

私が見る限り...

  1. タスクマネージャーは、プロセスごとに%CPUを表示しますが、視覚的にのみ表示されます。ファイルに保存する方法はありません。
  2. Perfmonを使用すると、ファイルに保存できます。さらに、時間ベースのファイルを作成します(指定した時間間隔でスナップショットを作成します)。これは、見た限りでは、%プロセスごとのCPU。
  3. プロセスエクスプローラーではプロセスごとに分類できますが、ファイルは単一の時点のスナップショットとしてのみ保存されます

だから、これらのどれも私が必要なものではありません:「監視を停止するまで、15秒ごとにCPUによるトップ10プロセス」のようなものを含むファイルを取得する必要があります一部のプロセスが1日に数回CPU使用率の一時的な短時間のスパイクを引き起こしているため、どのプロセスが原因かを調べる必要があります。

それを行うことはできますか、またはperfmonまたはプロセスエクスプローラーの機能を見逃していませんか?

回答:


37

Process Monitorがそれを行います。

最初に、プロファイリングイベントのコレクションを有効にすることをお勧めします。

ここに画像の説明を入力してくださいここに画像の説明を入力してください

その後、必要な期間だけデータを収集します(長期間収集する予定の場合は、フィルターをセットアップし、フィルター処理されたイベントのドロップを有効にすることができます)。次に、[ツール]-> [プロセスアクティビティの概要]に移動します。

ここに画像の説明を入力してください

これで、記録したすべてのアクティブなプロセスのリストが、時間の経過とともに表示されます。 ここに画像の説明を入力してください

次に、1つのプロセスの詳細をダブルクリックして開き、グラフ内の特定のイベントのタイムスタンプを検査できます。

ここに画像の説明を入力してください


1
ありがとう。それは視覚的に非常に印象的です(長時間実行したままにすると、どのくらいのメモリが使用されるかを考えるのが怖いです)。確かに、どのプロセスが実行されているかを画面上で確認できるので便利です。ただし、プロセスアクティビティの概要画面で[保存]をクリックすると、保存されるのは時間に依存するデータではなく、シングルポイントインタイムスナップショットのままです。
PhantomDrummer

@PhantomDrummer:PMLファイルの保存と読み込みは非常にうまく機能します。以前に記録されたすべてのイベントは復元され、PMLのロード後に分析に使用できます。ファイルを保存するときは、必ずすべてのイベントを選択してください。うまくいきたくない場合はお知らせください。回答に詳細を記載します。幸運を祈ります:)
デアホッホステープラー

1
@PhantomDrummer:[オプション]-> [イベントのプロファイリング]に移動します。ここで、間隔を1秒または100ミリ秒のいずれかに設定できます。それが行く限りです。それでもファイルが大きくなりすぎる場合は、より厳密なフィルターを設定し、フィルター済みイベントのドロップを有効にする必要があります。
デアホッホステープラー

1
@Pacerier 1つはタスクマネージャーで、もう1つはタスクによって実行された操作を記録します。
デアホッホステープラー

6
もっとシンプルなものはありませんか?それを使用する方法を学ぶ必要があるようです。ちょっとしたチェックのために、CPU使用率がX%を超える場合にプロセスのCPU使用時間を
取得し
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.