現在実行中のプロセスを監視するアプリケーションを作成しました。"Process"カテゴリのどのPerformanceCounterがプロセスのインスタンスのメモリサイズを返しますか?
次のスニペットでは、すべてのインスタンスを「プロセス」カテゴリに入れています。
var category = new PerformanceCounterCategory("Process");
var instanceNames = category.GetInstanceNames();
少し後で、すべてのカテゴリが1つのインスタンスになります。 このように見えます。
var counters = category.GetCounters(instanse);
このカテゴリのevryインスタンスには28個のカウンタが含まれています。 カウンターの一覧の下にあります。
%プロセッサ時間
%ユーザ時間
%特権時間
仮想バイトピーク
仮想バイト
ページフォルト/秒
ワーキングセットのピーク
ワーキングセット
ページファイルバイトピーク
ページファイルバイト
プライベートバイト
スレッド数
優先度ベース
経過時間
IDプロセス
作成プロセスID
プールページバイト
プール非ページバイト
ハンドルカウント
IO読み取り操作/秒
IO書き込み操作/秒
IOデータ操作/秒
IOその他の操作/秒
IO読み取りバイト数/秒
IO Wr ITEバイト/秒
IOデータバイト/秒
IOその他のバイト/秒
ワーキングセット - プライベート
そこで質問。現在のインスタンスによってバスされるメモリに関する情報を提供するカウンタはどれですか?
私はそれは簡単な質問だと思いますが、私は答えを見つけることができません。誰かが教えてくれたら、私は感謝しています。
私たちは、この "ワーキングセット" と仮定した場合:
ProcessNameの:SkypeC2CPNRSvc |プロセスID:2500プロセス:
グループ:プロセス|プロセス:SkypeC2CPNRSvc |名前:ワーキングセット|値:311296
この値は次のように計算されます、タスクmanakerでprfc.NextValue()/ 1024
このプロセスのために、私は316K
おそらく「ワーキングセット」ですか? (全面的にhttps://en.wikipedia.org/wiki/Working_setに基づいています) –