共有サーバーでホストされている ASP.NET MVC 3 アプリケーションを使用していますが、次の制限があります。
- 100 MB の RAM
- CPU の 15%
ホスト管理者は、アプリケーションがこれらの制限に達すると、アプリケーション プールが再起動されると言います。
デプロイ後、アプリケーション プールの再起動が速すぎる (数分後) ことに気付きました。MonitorAspNetApplicationを使用してメモリ使用量を確認しました。
最初のロードでは、割り当てられたメモリは約 8 または 9 MB であり、使用されたメモリは約 500 または 600 KB です。
しかし、アプリケーション (CRUD 操作など) の使用を開始すると、使用メモリは増減しますが、数 (6-10) メガバイトを超えることはありません。ただし、割り当てられたメモリは 100 MB に達するまで徐々に増加し、その後アプリケーション プールがリセットされます。
なぜこれが起こっているのかわかりません。アプリケーションは大きくなく、複雑な操作や重いクエリは実行しません。
このプロジェクトでは、最初に EF コード、StructureMap、AutoMapper、および ELMAH を使用しています。
- この問題の考えられる理由は何ですか? それらを検出して解決するにはどうすればよいですか?
- これらのツール (EF、StructureMap など) がこのメモリ使用量を引き起こす可能性はありますか?
- これはメモリリークですか?またはそれは何か他のものと呼ばれていますか?