1

私のアプリケーション (DotNET) は、C++/CLI SDK を公開する C++ スタンドアロン アプリ内のプラグインとして実行されます。

ユーザーが大量のデータを生成するのは非常に簡単です。プラグインとベース アプリケーションのメモリ消費量が法定最大値の 90% に達した場合、中止オプションを提供したいと考えています。

総メモリ消費量 (理想的にはマネージ コードとアンマネージ コードの両方) を測定するにはどうすればよいですか? また、現在のアプリケーションで使用できるメモリ ウィンドウの量を知るにはどうすればよいですか?

4

3 に答える 3

4

Process クラスは、この情報のほとんどを提供します。あなたが求めているのはProcess.PrivateMemorySize64だと思います。

あなたはできるはずです:

var memoryUsage = Process.GetCurrentProcess().PrivateMemorySize64;
于 2009-09-03T23:55:11.603 に答える
1

GetProcessMemoryInfoを確認してPrivateUsageくださいPROCESS_MEMORY_COUNTERS_EX

アップデート

明らかに私は質問を誤解しましたが、アプリのCLISDK側からの値が必要です。管理側では、あなたはすでに正しい答えを得ています。

于 2009-09-04T00:12:57.343 に答える
1

プロファイリング ツールをお勧めします。dotTraceは非常にうまく機能します。

于 2009-09-03T23:43:59.620 に答える