0

IIS でホストされている MVC アプリを起動します。タスク マネージャーを開き、プロセスが約 55 MB を使用していることを確認します。.net プロファイラーの 1 つでメモリ使用量を確認すると、

Total sizes of objects : 1.93MB
Memory allocated for .NET app: 17.46
Private Bytes : 57MB

この値は何を意味しますか? 1.93MB のオブジェクトを使用するアプリが約 55MB の RAM を割り当てるのはなぜですか?

いくつかのスクリーンショット: http://i.stack.imgur.com/Gr0J2.png http://i.stack.imgur.com/Gr0J2.png

4

2 に答える 2

0

プライベート バイトは、プロセスによって割り当てられるページです。これは通常、データの保存に使用されます。

CLR は、マネージド アプリケーションに代わってメモリを割り当てます。これは、プライベート バイトに反映されます。このメモリ (マネージ ヒープ) はチャンクで割り当てられます。マネージド アプリケーションは、マネージド ヒープに格納されるオブジェクトを作成します。マネージ ヒープに加えて、CLR は内部で使用するメモリを割り当てます。これは、プライベート バイトにも追加されます。

オブジェクトの合計サイズは、現在割り当てられているオブジェクトのサイズの合計です。この数は常にプライベート バイトよりも小さくなります。

于 2014-12-05T17:21:55.753 に答える