1

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 を占めます。これらすべての文字列はどこから来たのですか? これらの質問に関する情報を教えていただければ幸いです。

4

1 に答える 1

0

ANTS Memory Profiler 7を使用している場合は、たとえば、文字列インスタンスでインスタンスカテゴリを使用して、それらを切り分け、元の場所を特定します。これは、何千ものインスタンスがあり、それらがどこから来ているのかを調べたい場合に特に役立ちます。文字列は、この種の分析を非常に頻繁に必要とします。

于 2011-08-22T10:24:08.147 に答える