ASP.NET MVC Web アプリケーションのメモリ使用量について調査しています。私の研究では、Windows Server 2008 R2 と IIS 6.1 および SQL Server 2008 R2 を Virtualbox 4.1 で使用しています。ライブサーバーでテストするオプションではなかったため、仮想サーバーを使用することにしました。プロファイリングには、ANTS Memory Profiler 7.0 を使用しています。最初は、最も単純な Web サイトでさえ、すでに最大 30 ~ 40 MB を使用しているのはなぜだろうと思っていました。
例として、Visual Studio のチュートリアル Web サイトである「My MVC Application」Web サイトを使用していますが、プロファイリングしたすべての Web サイトに同じ概念が適用されます。アイドル状態の Web サイトで ant プロファイラーを実行すると、次の概要が表示されます。
Generation 1: 26kb
Generation 2: 2100kb
Large object heap: 240kb
Unused memory allocated to .NET: 3265kb
Unmanaged: 20890kb
アンマネージ ブロックにはどのような情報が含まれているのでしょうか。このブロックのサイズを見つけて小さくする方法はありますか?
また、7000 個の文字列オブジェクトがあり、アイドル モードでメモリ内に合計 600k を占めます。これらすべての文字列はどこから来たのですか? これらの質問に関する情報を教えていただければ幸いです。