ASP または ASP.NET アプリケーションが再起動または Web サーバーが処理できるよりもより多くの SMB 要求が存在する場合は、セッション オブジェクトを失う可能性があります。

現象

使用する Microsoft ASP.NET、または Microsoft Active Server Pages (ASP) では、サーバー メッセージ ブロック (SMB) プロトコルを使用してリモート ファイル共有に格納されます。Web サーバーが処理できるより多くの SMB 要求が存在する場合は、Web アプリケーションが突然再起動またはセッション オブジェクトが失われる可能性があります。この問題が発生した場合、エラー ログに次のエラー メッセージが表示される場合があります。
ディレクトリの変更の監視を開始できませんでした。
注: SMB プロトコルを使用するリモート ファイル共有には、ネットワーク接続ストレージ (NAS) デバイス、システム エリア ネットワーク (SAN) または UNIX ベースの共有を含めることができます。

原因

この問題は、サーバーへの SMB 要求の数が、要求を処理するために割り当てられているリソースよりも大きい場合に発生します。SMB リダイレクターは、非常に多くのネットワーク要求を受信する場合は、セッション オブジェクトが失われる可能性があり、アプリケーションが再起動すると、エラー ログにエラー メッセージが表示される場合があります。

注: サーバーの負荷やリモートのファイルのためにこの問題が生じる負荷を共有します。サーバーの負荷が問題であることを確認するに [スタート] ボタン [実行] をクリックして、 perfmonと入力し、[ OK] をクリックします。次に、リダイレクターまたは現在のコマンドエントリの値が最大負荷値の 90% 以上の場合は、サーバーの容量が発生します。

SMB 要求の数、それらの要求を処理するリソースの数を上回るし、ファイル共有上の SMB 要求の数、それらの要求を処理するためにリソースの数を上回る場合に発生する可能性があります、この問題が発生する可能性があります。

状況

マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

解決策

この問題を回避するのには、 MaxCmdsと、 MaxMpxCtのサブキーのレジストリ値をリセットすることがある接続の数を増やします。推奨値は、253、1124、および 2048 です。そのためには、以下の手順を実行します。

注: ここでLanmanWorkstation Web サーバーは、 LanmanServerは、リモートの共有します。

重要 このセクション、方法、またはタスクには、レジストリの変更方法が記載されています。レジストリを誤って変更すると、深刻な問題が発生することがあります。そのため、レジストリを変更する際には十分に注意してください。万一に備えて、編集の前にレジストリをバックアップしてください。そうすることで、問題が発生した場合にレジストリを復元することができます。レジストリのバックアップ方法および復元方法の詳細を参照するには、以下のサポート技術情報番号をクリックしてください。
322756の方法をバックアップし、Windows のレジストリを復元するには
  1. Web サーバー上のMaxCmdsレジストリ値の設定が 50 以上であることを確認します。これを行うには、以下の手順を実行します。

    注: MaxCmdsのエントリは、REG_DWORD の 10 進数のエントリです。存在しない場合は、新しい REG_DWORD 値として作成できます。このレジストリ エントリの値の範囲は、0 から 65535 の間です。MaxCmdsとサブキーが存在しない場合は、サブキーを作成します。
    1. [スタート] ボタンをクリックし、[ファイルを指定して実行] をクリックして、「regedit」と入力してから [ OK] をクリックします。
    2. 見つけて、レジストリで次の subsubkey をクリックします。
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\parameters
    3. 右側のウィンドウでは、 MaxCmdsの値をダブルクリックします。
    4. [] ボックスで、数が 50 以上であることを確認します。数が 50 より大きい値でない場合は、推奨される値のいずれかに値を増やします。
    5. レジストリ エディターを終了します。
    注: Microsoft Windows ターミナル サービス環境では、500 以上のMaxCmdsレジストリ値を設定する必要があります。の詳細については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします:

    232476ターミナル サーバー クライアントの接続およびログオンの MaxWorkItem および MaxMpxCt 値によって制限されます。

  2. Microsoft Windows 2000 ベースのサーバーのMaxMpxCtレジストリ値の設定が 50 以上であることを確認します。MaxMpxCtサブキーが存在しない場合は、サブキーを作成します。これを行うには、以下の手順を実行します。
    1. [スタート] ボタンをクリックし、[ファイルを指定して実行] をクリックして、「regedit」と入力してから [ OK] をクリックします。
    2. 見つけて、レジストリの次のサブキーをクリックします。
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\parameters
    3. 右側のウィンドウでは、 MaxMpxCt値をダブルクリックします。
    4. [] ボックスで、数が 50 以上であることを確認します。数が 50 より大きくない場合は、推奨される値のいずれかに値を増やします。

      注: MaxMpxCt値は、サーバーでは、同時に個々 のクライアントからのアクティブな要求の最大数を決定します。
    5. レジストリ エディターを終了します。
  3. リモート共有上の手順 1 と 2 を繰り返します。
注: これらの値を大きくと、x86 のプラットフォーム、ファイル サーバーと IIS クライアントは追加の非ページ プールのメモリを消費します。非ページ プール メモリは 256 メガバイト (MB) の上限を持ちます。多数の接続とクライアントの多くは、ファイル サーバー上のすべての非ページ プール メモリを消費できます。このカウンターを監視および制限に達していないことを確認するのには、パフォーマンス モニターを使用します。X64 プラットフォームでは、非ページ プール メモリが 128 ギガバイト (GB) の上限値を持ちます。したがって、これらの値を最大値を増やすことができます。、X86 上の非ページ プール メモリの違いの詳細についてはプラットフォームと、x64 プラットフォームでは、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックして:

294418 64 ビット エディションの Windows XP および Windows Server 2003 の 32 ビットおよび 64 ビットのメモリ アーキテクチャの比較

詳細

注: この資料は、x64 ベースのコンピューターには適用されません。

詳細については、SMB の特定のハードウェアとソフトウェアの構成を仕入先またはサービス プロバイダーに問い合わせてください。

SMB リダイレクターおよび MaxMpxCt と MaxMpx キーの値を上げる方法については、マイクロソフト サポート技術情報の記事を表示するのには次の資料番号をクリックします。

317249イベント ID 2021 およびイベント ID 2022 のトラブルシューティングを行う方法

810886 「ネットワーク BIOS コマンドの制限に達しています」エラー メッセージが表示 Windows Server 2003、Windows XP および Windows 2000 Server では

プロパティ

文書番号:843584 - 最終更新日: 2017/02/01 - リビジョン: 1

フィードバック