2017-01-18 11 views
0

を使用して、複数のアプリケーションプールのメモリ使用量を見つける:私はこれは私が現時点で持っているものですどのくらいの各アプリケーションプールのメモリのは、C#を介して使用されている</p> <p>を見つけようとしていますC#

List<ApplicationPool> pools = new List<ApplicationPool>(); 
List<WorkerProcess> processes = new List<WorkerProcess>(); 

ServerManager serverManager = new ServerManager(); 
ApplicationPoolCollection appPools = serverManager.ApplicationPools; 

foreach (ApplicationPool pool in appPools) 
{ 
    pools.Add(pool); 
} 

これは、私が実行しているすべてのアプリケーションプールのリストを私に与えますが、ApplicationPoolオブジェクトのプロパティのどれも、その使用法やリアルタイムのデータに関する情報を私に与えません。

私は完全に間違った端を持っているのですか?

私が望む情報はどのようにして見つけられますか?

私はどこでもまっすぐな答えを見つけることができませんでしたが、これまでに答えがあった場合は謝ります。

乾杯

+0

私はおそらくWMIが解決策になると思います。 https://msdn.microsoft.com/en-us/library/ms525265(v=vs.90).aspxまたはパフォーマンスカウンタhttps://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/0a6c9f07 -a70c-4c3d-b93d-5dfef593c744.mspx?mfr = true – Steve

答えて

0

作業セットを取得するのにsystem.diagnosticsを使用できます。

リンク内の例を変更して、すべてのw3wp.exeプロセスのワーキングセットを取得することができます。

Is there a way to retrieve a C# app's current memory usage?

+0

私が今必要とするのは、w3wpの各プロセスを区別することだけです。歓声 –

+0

アプリケーションプールがApplicationIdentityを使用している場合、プロセスのユーザー名はApplicationPool名でなければなりません – Liam

関連する問題

 関連する問題