64 ビット サーバーでの IIS クラッシュの原因を特定するにはどうすればよいですか

StackOverflow https://stackoverflow.com/questions/939967

質問

IIS 6 を使用して、Windows Server 2003 Standard x64 上で実行されている .net 2.0 Web アプリケーションがあります。

私たちの Web サイトのアプリケーション プールが最近クラッシュし始めましたが、その理由がわかりません。それは週末に起こり始め、ウェブサイトの最新リリースは数日前でした。最近、コードや Microsoft アップデートなど、その他の変更がサーバーに加えられていないことが確認されました。

データ ブロックに追加情報がない状態でクラッシュが発生すると、イベント ログには次の情報が表示されます。

障害アプリケーションw3wp.exe、バージョン6.0.3790.3959、スタンプ45d691cc、断層モジュールkernel32.dll、バージョン5.2.3790.4062、スタンプ462643a7、デバッグ?0、障害アドレス 0x0000000000027d8d。

これは x64 サーバー上で実行されているため、64 ビット バージョンがあっても、32 ビット モードで実行されている IIS にのみ接続されるため、標準のデバッグ診断ツールは使用できません。

Windows (x64) 用デバッグ ツールを使用してみましたが、w3wp プロセスに接続でき、別のクラッシュを待ちました。しかし、これによりサーバーの速度が大幅に低下し、使用できなくなったため、サーバーを停止する必要がありました。

IIS クラッシュの原因を特定するには、他にどのような方法を使用できますか?

役に立ちましたか?

解決

についての記事を読む<のhref = "http://blogs.msdn.com/tess/archive/2006/04/27/asp-net-2-0-crash-case-study-unhandled-exceptions.aspx" REL = "noreferrer"> ASP.NET 2.0クラッシュケーススタディ:未処理の例外がを。

  

戦略#1 - 例外
をロギング   最初の方法は、これは方法Iであります   おそらく推薦する、作成することです。   UnhandledExceptionHandlerは、ログに記録します   そのスタックと一緒に例外   に示すように、イベントログにトレース   この記事    http://support.microsoft.com/?id=911816する   あなたはこのようにハンドラを追加します   web.configファイルます:

<system.web>
  <httpModules>
    <add type="WebMonitor.UnhandledExceptionModule, <strong name>"
       name="UnhandledExceptionModule"/>
  </httpModules>
      …
</system.web>   
     

そして、それは最大のEventHandlerをフック   のUnhandledExceptionイベント   現在のアプリケーションドメイン。あなたはしないでください   実際には厳密な名前にそれを必要とし、   あなたが計画している場合しかし、GACに追加します   それあなたがすべき複数のアプリケーションで   DLLがロードされるために避けるために、   複数回。今、次回   あなたはこれらの未処理の1を取得します   例外は、このプロセスはまだでしょう   終了(あなたが未処理を変更しない限り、   例外ポリシー)が、あなたが持っている非常に   問題を修正するのは良いチャンスます。

他のヒント

パフォーマンス カウンターを設定して、CPU、メモリ、.NET 固有のカウンターなどを監視できます。詳細はたくさんありますが、次の TechNet 記事が役立つかもしれません。

ASP.NET 自体には、アプリケーションの状態を監視するための名前空間全体があります。独自のイベントを作成することも、最も一般的にはデフォルトのイベント用にアプリケーションを構成することもできます。この MSDN 記事にはさらに次の内容が含まれています。

問題がハンドルされない例外などのアプリケーション コードである場合 (ただし、これが問題である場合は、Windows イベント ログに詳細が表示されると思いますが)、ツールを使用してそれらをトラップし、レポートできます。 エルマ これは私が過去にこの目的で使用した素晴らしいツールです。と説明されています Web アプリケーション用 Tivo 例外の詳細を提供し、何が問題なのかを追跡するのに役立つさまざまな方法を備えています。

Microsoftのデバッグ診断ツール(DebugDiag)するトリックを行います。これは、IISのメモリダンプと分析を提供します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top