IIS 6.0 で ASP.NET がデッドロックになった場合のダンプ ファイルの生成方法

文書翻訳 文書翻訳
文書番号: 828222 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

Microsoft インターネット インフォメーション サービス (IIS) 6.0 でデッドロックが発生した場合、次のようなメッセージがアプリケーション ログに記録されます。

種類 : 警告
ソース : W3SVC-WP
分類 : なし
イベント ID : 2262
日付 : 2003/7/29
時刻 : 12:08:58
ユーザー : N/A
コンピュータ : ComputerName
説明 : 次の理由のため、ISAPI 'C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll' は自身が危険な状況であると報告しました : 'デッドロックが検出されました'。

また、次のようなメッセージがシステム ログに記録されます。

種類 : 警告
ソース : W3SVC
分類 : なし
イベント ID : 1013
日付 : 2003/7/29
時刻 : 12:09:34
ユーザー : N/A
コンピュータ : ComputerName
説明 : アプリケーション プール 'DefaultAppPool' を提供しているプロセスはシャットダウンの最中に時間制限を超えました。プロセス id は '2756' でした。詳細な情報は、http://support.microsoft.com

の [ヘルプとサポート センター] を参照してください。

診断で使用するダンプ ファイルを生成する

IIS 6.0 には、孤立したワーカー プロセスという新機能があります。この機能によって、リサイクルされる予定のプロセスをそのプロセスが終了する前に調査することができます。孤立したワーカー プロセスは、調査のためにプロセスにデバッガをアタッチして、ダンプ ファイルを生成するために使用することができます。

: この機能は、プロセスが IIS 5.0 互換モードで実行されているときには有効になりません。

Debugging Tools for Windows をダウンロードする

Debugging Tools for Windows をダウンロードするには、以下のマイクロソフト Web サイトで、使用している環境に該当するサイトにアクセスしてください。

Windows 32 ビット版
http://www.microsoft.com/japan/whdc/devtools/debugging/installx86.mspx
Windows 64 ビット版
http://www.microsoft.com/japan/whdc/devtools/debugging/install64bit.mspx
: Debugging Tools for Windows のインストール時には、必ず次のディレクトリにファイルを保存してください。
C:\Debuggers

ワーカー プロセスが孤立したときに実行されるバッチ ファイルを作成する

  1. メモ帳を起動します。
  2. メモ帳に次のコードを貼り付けます。
    @if "%_echo%"=="" echo off
    setlocal
        set TIMESTAMP=%DATE:~-9%_%TIME%
    set TIMESTAMP=%TIMESTAMP:/=_%
    set TIMESTAMP=%TIMESTAMP::=_%
    set TIMESTAMP=%TIMESTAMP:.=_%
    set TIMESTAMP=%TIMESTAMP: =_%
    set FILENAME=c:\crash_%TIMESTAMP%.dmp
    set LOG=c:\log.txt
    set COMMAND=c:\debuggers\cdb.exe -c ".dump /o /mhf %FILENAME%;q" -p %1
    
    echo %COMMAND% > %LOG%
    %COMMAND%
    
    endlocal
  3. ファイルを FileName.cmd という名前で保存します。この例では、ファイルに Action.cmd という名前を付けますが、任意の名前を使用することができます。
: 必要に応じて、デバッガの場所および結果として生成されるダンプ ファイルの場所を変更してください。

孤立したワーカー プロセスを設定する

  1. コマンド プロンプトで次のコマンドを入力し、Enter キーを押します。
    cd \Inetpub\adminscripts
  2. 孤立したワーカー プロセス機能を有効にするには、コマンド プロンプトで次のコマンドを入力します。
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanWorkerProcess TRUE
    
  3. コマンド プロンプトで、プロセスがリサイクルされる予定のときに実行される実行可能ファイルを設定します。たとえば、この場合では、「ワーカー プロセスが孤立したときに実行されるバッチ ファイルを作成する」で作成したバッチ ファイルを使用します。
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionExe "c:\action.cmd"
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionParams "%1%" 
    
: 「ワーカー プロセスが孤立したときに実行されるバッチ ファイルを作成する」で作成したバッチ ファイルの場所が OrphanActionExe オプションに指定されていることを確認します。また、W3wp.exe プロセスの ID を確認して、このファイルへの読み取りおよび書き込みのアクセス許可があることを確認します。

: 危険な状況であると報告されるワーカー プロセスのデバッグを IIS で有効にする場合は、監視するこれらのワーカー プロセスが解放されていることを確認してください。IIS がこれらのワーカー プロセスをメモリから自動的に削除することはありません。これらのワーカー プロセスを正しく処理しないと、エラーになったワーカー プロセスがコンピュータ上で多数実行されることがあります。これらのワーカー プロセスは、他のプロセスが必要とするリソースを占有する可能性があり、直ちに終了させて、それらのリソースを解放する必要があります。また、これらのワーカー プロセスがメタベースへのアクセスをブロックする場合もあります。その結果、他のワーカー プロセスや World Wide Web サービス自体で問題が発生します。

関連情報

詳細については、次の MSDN (Microsoft Developer Network) Web サイトを参照してください。
http://msdn2.microsoft.com/ja-jp/library/ms525365(en-us).aspx

http://msdn2.microsoft.com/ja-jp/library/ms524472(en-us).aspx

http://msdn2.microsoft.com/ja-jp/library/ms525700(en-us).aspx
危険な状況であると報告されるワーカー プロセスのデバッグ方法の詳細については、次のマイクロソフト Web サイトを参照してください。
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/iis/26d8cee3-ec31-4148-afab-b6e089a0300b.mspx?mfr=true

プロパティ

文書番号: 828222 - 最終更新日: 2007年12月4日 - リビジョン: 8.2
この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET 1.1
  • Microsoft Internet Information Services 6.0
キーワード:?
kbhowtomaster kbdebug KB828222
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com