1

誰かが私に段階的な指示を与えるか、正しい参照を正しい順序で指すことができますか

この問題の根本原因を特定できるようにするには?

4

3 に答える 3

2

プロセスのメモリダンプを取得して、WinDbgを調べることができます。少なくとも、例外のリストとスレッドの現在の状態が表示されます。ただし、そうすることでプロセスがリサイクルされます。VisualStudioからリモートデバッグモードでQAスタイルのマシンに接続することもできます。ただし、これは行っていません。デバッグ中は、他のすべての要求がハングします。

w3wpがローカルで実行されている場合は、タスクマネージャーでプロセスを右クリックし、[デバッグ]を選択して、WinDbgで確認できます。それ以外の場合は、本番/テストマシンのDebug Diagのようなもので、完全なユーザーダンプを作成する必要があります。参照: http: //msdnrss.thecoderblogs.com/2008/05/21/debugdiag-11-or-windbg-which-one-should-i-use-and-how-do-i-gather-memory-dumps/

私はこれをすべて2月にやりましたが、それ以降は必要ありませんでした。WinDbgのシンボルを取得し、それらを格納する場所の環境変数を構成するなどの理由で、ステップバイステップ全体は実際にはやや面倒です。

ASP.NETインスペクション用のWinDbgの設定については、次の記事を参照してください: http ://support.microsoft.com/kb/892277

于 2008-10-08T20:23:14.033 に答える
1

w3wp.exe は、ISS のアプリケーション プールに関連付けられたプロセスです。複数のアプリケーション プールがある場合、w3wp.exe の複数のインスタンスが実行されます。

詳細については、これをお読みください

于 2008-10-08T20:25:48.523 に答える
0

w3wp.exe は、さまざまな理由で大量のメモリを消費する可能性があります。

  • 処理する多数のリクエスト
  • 大量のデータ スループット (メディア処理など)
  • メモリーリーク
  • 上記の任意の組み合わせ。

最初の 2 つに問題があると思われる場合は、システムをスケールアップする必要があります (サーバーを追加するなど)。

メモリ リークが発生すると、時間の経過とともにメモリ使用量が徐々に増加します。

メモリ リークが疑われる場合は、次のアクションが考えられます。

  • コードレビュー(特に静的オブジェクト、イベント登録・登録解除)
  • プロファイリング: メモリ リークのプロファイリングは、困難な作業になる場合があります。プロファイリング中に一定期間/リクエストでデータを収集し、寿命の長いオブジェクトをチェックして、それらの寿命が有効であることを確認してください。
于 2008-10-09T09:45:10.047 に答える