現在オフラインです。再接続するためにインターネットの接続を待っています

[PC Ext] Windows NT の Opportunistic Locking の説明

この記事は、以前は次の ID で公開されていました: JP129202
概要
排他 Oplock を使用して、ファイルを排他以外のモードで開く場合、リダイレクタはファイル全体の便宜 (opportunistic) lockを要求します。他のプロセスによってファイルが開かれない限り、サーバーはこの要求を許可し、指定したファイルへの排他アクセスをリダイレクタに許可します。これにより、他のプロセスがファイルを開こうとしない限り、リダイレクタは先読み、遅延書き込み、およびロックのキャッシュを実行できます。

2 つ目のプロセスがファイルを開こうとするとき、元の所有者は Oplock 取り消し、またはレベル II Oplock への格下げを要求されます。その時点で、リダイレクタはキャッシュしたデータを無効にし、ファイルを変更している場合はサーバーへ書き込みをおこない、Oplock を解除するか、またはファイルを閉じる必要があります。

Opportunistic Locking レベル II は、複数のクライアントによるファイルの読み取りアクセスを許可する方法を提供します。これらのクライアントは読み取りデータをローカルにキャッシュ (先読み) できます。クライアントがファイルに書き込まない限り、複数のクライアントがレベル Ⅱ の Oplock を使用してファイルを開くことができます。
詳細
レベル 2 の Oplock がどのように動作するかを以下に説明します。

  1. クライアント 1 がファイルを開き、Oplock を要求します。
  2. 他のクライアントがファイルを開いていないので、サーバーはクライアント 1 に排他 Oplock を許可します。
  3. クライアント 2 がファイルを開き、Oplock を要求します。
  4. クライアント 1 はまだファイルに書き込みをしていないので、サーバーはクライアント 1 にレベル II Oplock に格下げするよう要求します。
  5. クライアント 1 はサーバーからの要求に応じ、ローカルにバッファされたロック情報を削除します。
  6. クライアント 1 は、レベル II Oplock への格下げが完了したことをサーバーに通知します (または、クライアント 1 はファイルを閉じることもできます)。
  7. サーバーがクライアント 2 のファイルを開く要求に応答し、レベル Ⅱ の Oplock を許可します。他のクライアントは同様にファイルを開き、レベル Ⅱ の Oplock を取得できます。
  8. クライアント 2 (またはファイルを開いているいずれかのクライアント) が書き込み要求 SMB を送信します。サーバーは応答を返します。
  9. サーバーは、ファイルを開いているすべてのクライアントに oplock 破棄を要求します。それは、すべてのクライアントがファイルに対して Oplock を保持していない状態へ移行することを意味します。この時点で、クライアントがファイルに対する書き込みのキャッシュまたはロックを保持している可能性はないため、クライアントは oplock 破棄要求に応答する必要はありません。クライアントで行う必要があるのは、ローカルにキャッシュされた先読みデータを無効にすることだけです。
以下のレジストリ エントリを使用して Windows NT Workstation または Windows NT Server の Oplock を有効または無効にします。これらのレジストリ キーはデフォルトでは存在しない可能性があります。レジストリにアクセスするには、[スタート] メニューの [ファイル名を指定して実行] をクリック、またはファイル マネージャの [ファイル] メニューから [ファイル名を指定して実行] をクリックして、REGEDT32.EXE を実行します。

警告 : レジストリ エディタの使い方を誤ると、システム全体に及ぶ深刻な問題が発生することがあります。最悪の場合、問題を修正するために Windows NT の再インストールが必要になることがあります。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

ワークステーション サービス エントリ

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet   \Services\LanmanWorkstation\ParametersUseOpportunisticLocking REG_DWORD 0 または 1デフォルト値 :1 (true)
リダイレクタがパフォーマンスを高めるために Oplock (opportunistic-locking) を使用する必要があるかどうかを示します。このパラメータは、問題を特定する目的の場合のみ無効にする必要があります。

サーバー サービス エントリ

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet   \Services\LanmanServer\ParametersEnableOplocks REG_DWORD 0 または 1デフォルト値 :1 (true)
サーバーが、ファイルに対する Oplock の使用をクライアントに許可するかどうかを指定します。Oplock によってパフォーマンスは大幅に向上しますが、一部のネットワーク、特にワイド エリア ネットワークでは、キャッシュしたデータが失われる原因となる可能性があります。
MinLinkThroughput REG_DWORD 毎秒 0 バイト以上、無制限デフォルト値 : 0
この接続の raw lock および opportunistic lock を無効にする前にサーバーが許容する、最小リンク スループットを指定します。
MaxLinkDelay REG_DWORD 0 秒から 100,000 秒までデフォルト値 : 60
リンク遅延の最大許容時間を指定します。遅延時間がこの数値を超える場合、サーバーがこの接続の raw I/O および opportunistic locking を無効にします。
OplockBreakWait REG_DWORD 10 秒から 180 秒までデフォルト値 : 35
サーバーがクライアントの oplock 破棄要求の応答を待つ時間を指定します。より小さい値を設定すると、クラッシュしたクライアントをより早く検出できます。ただし、キャッシュされたデータが失われる可能性があります。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 129202 (最終更新日 2001-08-08) をもとに作成したものです。

3.00 3.20 3.20a
プロパティ

文書番号:129202 - 最終更新日: 09/06/2004 03:57:00 - リビジョン: 4.1

  • Microsoft Mail for PC Networks 3.0
  • Microsoft Mail for PC Networks 3.2
  • Microsoft Mail for PC Networks 3.2a
  • Microsoft Mail for PC Networks 3.5
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft Windows NT Server 4.0 Standard Edition
  • kbhowto kboswin2000 kboswinnt 3.51 kbusage 4.0 3.50 KB129202
フィードバック