DBCC MEMORYSTATUS INF を使用して SQL Server のメモリ使用量を監視するのには

文書翻訳 文書翻訳
文書番号: 271624
すべて展開する | すべて折りたたむ

目次

概要

スナップショットは、DBCC MEMORYSTATUS コマンドが用意されています、現在のメモリ状態の SQL Server です。このコマンドからの出力が便利です。SQL Server のメモリの消費に関連する問題のトラブルシューティングや特定のメモリ不足エラー (多くは自動的にこの出力を表示します。エラー ログで) です。マイクロソフト製品サポート サービスも要求することができます、場合は、特定のサポート インシデントの中にこのコマンドを実行します。メモリ不足に関連付けることができます、エラーが発生しました。状態です。

このコマンド用の診断ツールを対象としていますマイクロソフト製品サポート サービスです。出力とのレベルの形式提供される詳細の service pack と製品の間で変更されます。解放します。DBCC MEMORYSTATUS コマンドによって提供される機能が製品の将来のバージョンでは、さまざまなメカニズムによって可能性があります交換してこのコマンドは機能しない可能性があります。追加警告を変更したり、次のコマンドを削除する前になりますありません。したがって、その動作に依存するアプリケーション警告なしに解除します。

DBCC MEMORYSTATUS の出力が含まれています。7 つのセクション。いくつかアプリケーションできます、重要なデータの説明します。最初の 4 つのセクションの出力から。残りのセクションを含む独自の実装の詳細と、この記事では詳しく説明しません。マイクロソフト製品サポート サービスからの質問に回答またはされませんを提供対象外の特定のカウンターの意味に関する追加情報この資料で提供します。

詳細

最初のセクション

最初のセクション内の 8 KB バッファーの配分を説明します。バッファー プール。バッファーの構造を潜在的な各 8 KB のページであります。バッファー プール。これは、場合は物理的なページが含まれているアドレス ウィンドウ化拡張(AWE) が有効になります。この構造体には指定するビット数が含まれています、基になるページの状態 (つまり、ページが変更されているかどうかで固定、IO とより多くのです。ここでは、バッファーの数について説明します。特定のステータス ビットがあります。
Buffer Distribution              Buffers     
------------------------------   ----------- 
Stolen                           241
Free                             95
Procedures                       89
Inram                            0
Dirty                            16
Kept                             0
I/O                              0
Latched                          18
Other                            880

(9 row(s) affected)
				
盗まれる. 盗まれる メモリでの並べ替えに使用されているバッファーを記述します。操作 (クエリ ワークスペース メモリ) のハッシュまたはがこれらのバッファーに内部のデータを格納するのには、一般的なメモリ ストア割り当てとして使用しています。構造体のロック、トランザクション コンテキストは、接続情報など。は、レイジー ライター プロセスは、フラッシュすることはできません。 盗まれる バッファーは、バッファー プール外。

無料. 無料 現在使用されていないバッファーをコミットすることです。これらのデータを保持するために使用できるかがほかの要求可能性があります。コンポーネントし、 盗まれる.

手順. 手順 ストアド プロシージャのキャッシュ メモリを保持しているバッファーを指します。これらバッファーにプロシージャは、キャッシュされた広告をコンパイルし、実行可能なプランが含まれています。アドホック プラン。

Inram. Inram ページがメモリから削除することはできません固定されたテーブルを参照します。(DBCC PINTABLE コマンドを使用して固定されているか、 sp_tableoption ストアド プロシージャ)。

ダーティ. ダーティ まだフラッシュされていない変更が含まれているデータのページを表しますディスクにします。

保持. 保持 一時的にからそれらを防ぐためにメモリの固定されたページを参照します。フラッシュしています。SQL Server 2000 では、この値は使用されません。

I/O. I/O 保留中の I/O 操作で待機しているバッファーを指します。SQL Server 2000年にこれには、マップや AWE を通じてバッファーをマップ解除が含まれます。

ラッチ.ラッチのバッファー、バッファーの数を記録する場合は、接続または閲覧ページから行を変更しています。ラッチが使用されます。その読み取り専用ですが、データ ページの物理的な整合性を確認または更新ロックを使用して論理トランザクションを確認するには整合性。

その他の.これらの条件のいずれかを満たしていないコミットされたページです。前に説明しました。通常、ほとんどのこの条件を満たすバッファーハッシュされたデータおよびインデックス ページをバッファー キャッシュです。

2 番目のセクション

2 番目のセクション全体を反映するいくつかの合計が表示されます。サイズと、バッファー プールを構成します。
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
コミットします。 Microsoft ではコミットされたバッファーの合計数Windows NT を使用します、。 コミット 現在のバッファー プールは、「サイズ」を指定します。この値AWE が有効になっている場合に割り当てられる物理メモリが含まれています。

ターゲット.ターゲットのコミットの数、またはバッファー プールの最大サイズです。たいです。場合は、 ターゲット 数はより大きいです、 コミット 値は、バッファー プールが増加しています。場合は、 ターゲット count 未満、 コミット 値は、バッファー プールは縮小され続けています。レイジー ライター プロセスを使用します。拡張バッファー プールを縮小するかを決定する値。

ハッシュ.バッファーに格納されているデータとインデックス ページの数プールです。

InternalReservation.バッファー プールを保持するページの数。は、 InternalReservation 満たすために必要なページの最小数を指定します。現在のユーザー数を単純なデータが必要です。

ExternalReservation.用に予約されたページの数は、クエリを実行します。並べ替えやハッシュ操作を実行しますが、ないまだ盗まれました。これです。今後の要件は、レイジー ライターへのヒントとして使用されます。大量のメモリ。

最小の空き.バッファー プール保持しようとしていますページ数が。空きリスト空きリストの下にある場合は、 最小の空き 値、バッファー プールがフリー リストで作成しようとデータ キャッシュから古いページや古いプロシージャ プロシージャからを破棄します。キャッシュします。

3 番目のセクション

3 番目のセクションは、プロシージャ キャッシュの構成について説明します。
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs.プロシージャ内の現在のキャッシュされたオブジェクトの合計数キャッシュします。この値のエントリ数と一致、 syscacheobjects 仮想テーブルです。パフォーマンス モニターを使用すると、SQL を監視するのにことができます。Server: キャッシュ マネージャー オブジェクトの種類の詳細な内訳をキャッシュします。例、トリガー、プロシージャ、および ad hoc をオブジェクトします。

TotalPages.すべてを保存する必要がありますページの数の累計キャッシュされているオブジェクト。

InUsePages.属しているプロシージャ キャッシュのページ数現在実行中の手順します。これらを破棄することはできません。

4 番目のセクション

4 番目のセクションの相対分布を記述する盗難サーバーの主要なコンポーネント グループ間のバッファー。SQL Server の実装は、メモリ バッファー プール ページに小さなメモリ割り当てを使用してマネージャーを所有し、該当します。超える割り当てだけを再度オペレーティング システム ルーチンに約 8 KB です。このような大規模な割り当て、バッファー プール外にいると一般に割り当てと呼ばれます、 MemToLeave 領域です。この領域のサイズを制御するを使用して、 ・ g コマンド ライン オプションです。

通常、ほとんどのメモリ割り当て MemToLeave 実行している非 SQL Server メモリ コンシューマーからです。COM オブジェクト、拡張ストアド プロシージャ、およびリンク サーバーなど、インプロセス。DBCC MEMORYSTATUS で報告されるオペレーティング システムに関連した値をのみ反映します。 MemToLeave SQL Server によって直接行われる割り当て。その他発生する割り当て MemToLeave これらのコンポーネントは他のため含まれません SQL Serverこれらのメモリ要求が認識されません。
Dynamic Memory Manager         Buffers     
------------------------------ ----------- 
Stolen                         330
OS Reserved                    152
OS Committed                   138
OS In Use                      129
General                        322
QueryPlan                      87
Optimizer                      0
Utilities                      10
Connection                     40

(9 row(s) affected)
				
盗まれる.バッファー プールによって盗まれたはバッファーの合計数5 メモリ マネージャー (一般的なクエリを作成する、オプティマイザー、ユーティリティ、接続の場合)。これらのページはメモリ割り当てサービスを提供することができます。8 KB を超えるサイズを小さくします。

OS の予約.オペレーティング システムから予約されているページの数約 8 より大きい割り当て要求を処理するにはKB。

OS のコミット.されているメモリの予約された領域の量コミットします。は、 OS のコミット 値を以下にあります、 OS の予約 値バッファーを最初にするために予約され、コミットします。いくつか使用されなくなり、メモリがデコミットことがあります。

メモ がSQL Server (SQL Server 2000 Service Pack 3 で修正済みです) 2000年のバグこの値を正確にあり、有効範囲外分類されます可能性があります保持されませんが。

使用中の OS.は、 OS のコミット バッファーで現在未解決のメモリをバックアップします。割り当て。

全般.サーバーの一般的なメモリの消費者が使用するメモリ解析や正規化、ロック、トランザクション コンテキストでは、内部のデータ構造体のメモリ内メタデータ テーブルとインデックスに説明してその他。この値は、8 KB バッファーの合計数です。これらのものがあります。盗まれたバッファー、バッファー プールと他の人からの可能性があります。 MemToLeave.

QueryPlan.クエリ プランはどちらか transiently の格納に使用するメモリやでキャッシュします。この値は、8 KB バッファーの合計数です。これらのものがあります。盗まれたバッファー、バッファー プールと他の人からの可能性があります。 MemToLeave.

オプティマイザー.クエリ オプティマイザーによって使用されるメモリ。この値は、8 KB バッファーの合計数です。これらのいくつかからの盗まれたバッファー可能性があります、バッファー プール、およびその他の可能性があります。 MemToLeave.

ユーティリティ.メモリを使用して、BCP、ログなどのさまざまなユーティリティ ルーチンマネージャー、並列クエリ、 : fn_trace_gettable、およびその他の。この値は、8 KB バッファーの合計数です。いくつかこれら、バッファー プールから奪われたバッファー可能性があります、他の人から必要があります MemToLeave.

接続.データを格納するために使用するメモリ構造体の保持、ユーザー接続ごとの接続のコンテキスト。これはメモリも含まれていますネットワークは、接続に関連付けられたバッファーを送受信します。この値は、8 KB バッファーの合計数です。これらのいくつかを盗まれる可能性があります。バッファー、バッファー プールから可能性があります他の人から MemToLeave.

関連情報

SQL Server オンライン ブック
喜一、Kalen。マイクロソフトの内部SQL Server 2000 は、Microsoft Press、2000年。

プロパティ

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