IIS デバッグ診断ツールを使用して、IIS プロセスのメモリ リークのトラブルシューティングを行う方法

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

目次

はじめに

IIS プロセス過度のメモリを消費すると Microsoft インターネット インフォメーション サービス (IIS)、メモリ リークが発生します。Inetinfo.exe、Dllhost.exe、W3wp.exe の IIS プロセスの例です。IIS キャッシュの静的コンテンツと動的コンテンツ。IIS プロセスは、通常、使用可能な物理メモリの 50% を使用します。このメモリの使用状況のメトリックは IIS プロセスごとに、すべての IIS プロセスの合計に関係しています。メモリの問題を特定するのにには、この情報およびパフォーマンス モニターを使用できます。

さらに、IIS プロセス過度のメモリを消費すると、次の現象に発生します。
  • Windows タスク マネージャーで、 メモリ使用量] 列は、プロセス メモリが過剰に消費されることを示します。
  • パフォーマンス モニターでは、差の間に増加の プライベート バイトのサイズ カウンターとは 仮想バイト カウンターの プロセス オブジェクト。
  • IIS 6.0 または上で 32 ビットの IIS プロセスは最大 1.3 ギガバイト (GB) の仮想メモリを使用します。メモリのリサイクル] は有効になっている場合、イベントは次のような記録されます。

    イベントの種類: 情報
    イベント ソース: W3SVC
    イベント カテゴリ: なし
    イベント ID: 1077年
    作成日: 日付
    時刻:
    ユーザー: 該当なし
    コンピューター: コンピューター名
    説明:
    '1234' サービング アプリケーション プール 'DefaultAppPool' のプロセス id のワーカー プロセスはリサイクルが必要。

  • メモリのリサイクル] は有効でない場合は、32 ビットの IIS プロセス最大 1.3 GB の仮想メモリを使用し、最終的に応答を停止します。その後、次のようなイベントが出力されます。

    イベントの種類: 警告
    イベント ソース: W3SVC
    イベント カテゴリ: なし
    イベント ID: 1009年
    作成日:日付
    時刻:
    ユーザー: 該当なし
    コンピューター:コンピューター名
    説明:
    アプリケーション プール 'DefaultAppPool' を提供して、プロセスが予期せず終了しました。プロセス id は '1234' でした。プロセス終了コードは '0xc0000005' でした。

    詳細については、http://support.microsoft.com のヘルプとサポート センターを参照してください。

詳細

IIS プロセス過度のメモリを消費すると、IIS のデバッグの診断ツールを使用して、メモリ リークの原因となった、未解決のメモリ割り当てのトラブルシューティングを行う。LeakTrack.dll ファイルを挿入して、メモリ リークを監視する必要があります。リークが再現されると、メモリ ダンプ ファイルが生成されます。メモリ ダンプ ファイルには、メモリ リーク情報が含まれています。

IIS のデバッグの診断ツールを使用して、IIS プロセス過度のメモリ消費をトラブルシューティングするには、次の手順を実行します。

手順 1: をダウンロードして、IIS のデバッグの診断ツールのバージョン 1.2 をインストールします。

次のファイルは、マイクロソフトからダウンロードできます。ダウンロード センター:

IIS デバッグ診断 v1.2
http://www.microsoft.com/download/en/details.aspx?id=26798?


手順 2: メモリ リークが発生する前に、パフォーマンス ログを設定します。

  1. クリックしてください。 スタート、ポイント プログラム、ポイントデバッグの診断ツールプロパティ デバッグ診断ツール 1.2.
  2. クリックしてください。 ツールプロパティ オプションと設定.
  3. クリックして、 パフォーマンス ログ タブで、クリックしてください パフォーマンス カウンター データのログ記録を有効にします。プロパティ ].
メモメモリ リークを再現すると、データのサンプリング間隔と監視を開始する時刻のによって異なります。ログ サイズが大きいため、サーバーの過負荷なしに必要な情報を取得するのには、サポート担当者することを確認します。

手順 3:「メモリとハンドルのリーク」ルールをを作成する

  1. クリックしてください。 スタート、ポイント プログラム、ポイント デバッグの診断ツールプロパティ デバッグ診断ツール 1.2.
  2. で、 ルール タブで、クリックしてください ルールを追加します。.
  3. クリックしてください。ネイティブ (非 .Net) のメモリとハンドル リークプロパティ 次へ.
  4. メモリ リークが発生するプロセスを選択しをクリックしてください 次へ.
  5. で、 リークを構成します。ルールダイアログ ボックスで入力するか、ウォーム アップ期間を選択、 ウォーム アップ時間 ボックス。

    メモすぐにこの問題を再現する場合をクリックして、 メモリをすぐにルールがアクティブになったときに追跡を開始します。 チェック ボックス。
  6. 構成... ] をクリックします。Userdump の生成し、確認してください、 予期しないプロセス終了時にユーザー ダンプを取得するクラッシュ ルールを自動作成します。チェック ボックスをオンにします。メモリ ダンプを作成する後どのくらいメモリ使用量を構成することもできます。
  7. ルール入力候補のボックスで入力または問題を再現するために必要な時間を選択します。

    メモ指定した時間の最後には、ダンプ ファイルが作成されます。
  8. クリックしてください。 次へプロパティ 終了日.

手順 4: データを手動で取得します。

  1. クリックしてください。 スタート、ポイント プログラム、ポイント デバッグの診断ツールプロパティ デバッグ診断ツール 1.2.
  2. クリックして、 プロセス を右クリックしをクリックして、[プロセス] タブで、 リークの監視.
  3. リークが再現する場合は、ステップ 4b をからのプロセスを右クリックしをクリックしてください フル Userdump を作成します。.
メモ状態がアクティブであることに注意してください。また、 Userdump のカウントのカウンターの値は、メモリ ダンプ ファイルが作成されるたびに増加します。

手順 5: メモリ ダンプ ファイルの終了後にパフォーマンス ログを停止します。

  1. クリックしてください。 スタート、ポイント プログラム、ポイント デバッグの診断ツールプロパティ デバッグ診断ツール 1.2.
  2. クリックしてください。 ツールプロパティ オプションと設定.
  3. クリックして、 パフォーマンス ログ タブで、クリックしてください パフォーマンス カウンター データのログを無効にします。プロパティ ].

手順 6: メモリ ダンプ ファイルを分析します。

  1. クリックしてください。 スタート[ Exchange Server 2010 SP1 をインストールした後 Outlook クライアント アプリケーションがパブリック フォルダーに接続できない、デバッグ診断ツールのパスを入力し、をクリックして ].

    メモ既定では、デバッグの診断ツールは C:\Program Files\DebugDiag フォルダー内。
  2. で、 高度な分析 タブで、クリックしてください データ ファイルを追加します。.
  3. 見つけて、ダンプ ファイルを分析しをクリックするをクリックします. と入力して.
  4. で、 高度な分析タブで、クリックしてくださいメモリ圧迫のアナライザープロパティ 分析を開始します。.
  5. Microsoft Internet Explorer で表示されるレポートを確認します。このレポートのコピーは、\DebugDiag\Reports フォルダーにも格納されます。

ステップ 7: カスタムの .dll ファイルを使用している場合は、「シンボル検索パスの分析」パスまたはパスを「シンボル検索パスのデバッグ」追加

  1. クリックしてください。 ツールプロパティ オプションと設定.
  2. で、 シンボル検索パスの分析 ボックスに、 シンボルの検索パスのデバッグ ボックスの適切なパスを入力しをクリックしてください ].

プロパティ

文書番号: 919790 - 最終更新日: 2012年11月30日 - リビジョン: 9.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 6.0
  • Microsoft Internet Information Services 7.0
  • Microsoft Internet Information Services 7.5
キーワード:?
kbinfo kbhowto kbmt KB919790 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:919790
Microsoft Knowledge Base の免責: 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