Visual Studio 2010 で asp.net 4.0 を使用して作成した Web アプリケーションがあります。アプリケーションは、2 GB の RAM がインストールされた Windows サーバー 2012 で実行され、OS は RAM の約 40 ~ 50% を使用します。
メモリ消費に関してはすべてのページに問題はありませんが、最初にアクセスしたときにロードに10秒ほどかかり、サーバーからのメモリが最大であることがわかっているページが1つあります(見たように)タスク マネージャーで) 50% から 80% に急速に変化します。その後、スタックがいっぱいであるというエラー (サーバー上のログ ファイルに記録されます) を受け取ります。
これは、メモリ消費量が多すぎるためだと思うので、RAM を追加購入する前に、Visual Studio でこれを確認して修正する方法を知る必要があります。セッション状態にはごくわずかなデータしか含まれていないため、原因ではありません。変数、DataTable、および SQL クエリが多すぎることが原因である可能性があります... データテーブルに大量のデータを保存していません。
すべてのコレクションと変数がどれだけのメモリを使用しているかを確認できれば素晴らしいと思います...どんな助けもいただければ幸いです。ありがとう。
編集:正確なエラーは次のとおりです:プログラムを安全に実行し続けるにはスタックが不十分です。これは、コール スタック上の関数が多すぎるか、スタック スペースを使いすぎているスタック上の関数が多すぎるために発生する可能性があります。