1

Windows Server 2003 の perfmon には、プロセスごとのプロセッサ時間とメモリのワーキング セット統計を取得するカウンター オブジェクトがあります。唯一の問題は、複数のアプリケーション プールがある環境では、正しいワーカー プロセスを確実に識別する方法がないことです。perfmon ではそれらをすべて「w3wp」と呼び、複数ある場合は w3wp、w3wp#1、w3wp#2 などと呼びます。これらの名前でさえ信頼できません。番号はどちらが最初に開始されたかによって異なり、プロセスが破棄されて再起動されるため、アプリ プールがリサイクルされると明らかに変化します。

ASP.NET 固有のカウンターが見つかりませんでした。何らかの理由で、IIS オブジェクトがインスタンスを分離していません。"グローバル" インスタンスが 1 つしかありません。

最終的には、特定の IIS アプリケーション プールの "% Processor Time" カウンターと "Working Set" カウンターだけが必要です。助言がありますか?

4

2 に答える 2

2

すべての w3wp プロセスの統計を常に収集し、PID をキャプチャします。これは、プロセス グループのカウンターの 1 つです。

Server 2003 の system32 フォルダーには、IISApp.vbs という名前のスクリプトがあり、すべてのプロセスとその PID を一覧表示します。PID を取得するには、これを実行する必要があります。

もっと良い方法があるに違いないと確信していますが、これはアドホック モニタリングを行う必要があるときに機能しました。

于 2008-12-16T17:47:59.063 に答える
1

ワーカー プロセスが長時間アイドル状態の場合、w3wp インスタンスが表示されないことがあります。ワーカー プロセス (w3wp) がインスタンスに表示されるように、UI インターフェイスを短時間使用する必要があります。

于 2012-01-17T14:38:02.440 に答える