Info: Verwenden von DBCC MEMORYSTATUS zum Überwachen der Arbeitsspeicherverwendung von SQL Server

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 271624 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Der Befehl DBCC MEMORYSTATUS bietet einen Snapshot von den aktuellen Status Arbeitsspeicher von SQL Server. Die Ausgabe dieses Befehls eignet sich Behandlung von Problemen, die auf den Speicherverbrauch von SQL Server oder auf bestimmte mangelndem Speicher-Fehler (von denen viele automatisch diese Ausgabe in das Fehlerprotokoll drucken) beziehen. Microsoft Software Service kann auch anfordern, dass Sie diesen Befehl im Verlauf der einem bestimmten gebührenpflichtigen Supportvorfall ausführen, wenn einen Fehler auftritt, der wenig Arbeitsspeicher zugeordnet werden kann.

Dieser Befehl wird als ein Diagnosetool für Microsoft-Produktsupport gedacht. Das Format der Ausgabe und die Detailebene, die bereitgestellt wird unterliegt Änderungen zwischen Service Packs und Produkt Releases. Die Funktionalität des Befehls DBCC MEMORYSTATUS wird wahrscheinlich durch einen anderen Mechanismus in Zukunft ersetzt Produktversionen und dieser Befehl möglicherweise nicht mehr funktionieren. Vor dem Ändern oder entfernen diesen Befehl ist keine zusätzlichen Warnungen erfolgen. Daher können Anwendungen, die auf das Verhalten beruhen ohne Warnung beeinträchtigt werden.

Die Ausgabe von DBCC MEMORYSTATUS enthält sieben Abschnitte. Dieser Artikel beschreibt einige der wichtigsten Daten, die aus der Ausgabe in den ersten vier Abschnitten gelesenen können. Die verbleibenden Abschnitte proprietäre Implementierungsdetails betreffen, und Sie werden nicht in diesem Artikel erläutert. Microsoft Product Support Services nicht beantworten alle Fragen oder Weitere Informationen über die Bedeutung von bestimmten Leistungsindikatoren über was in diesem Artikel bereitgestellt wird.

Weitere Informationen

Erster Abschnitt

Der erste Abschnitt beschreibt die Verteilung von 8 KB-Puffer im Pufferpool. Es ist eine Puffer-Struktur für jede mögliche 8 KB-Seite im Pufferpool. Dies umfasst physische Seiten, wenn Address Windowing Extensions (AWE) aktiviert ist. Diese Struktur enthält eine Anzahl der Bits, die den Status der zugrunde liegenden Seite angeben (d. h., ob die Seite geändert wurde, ist fixiert, ist in e/A). Dieser Abschnitt erläutert die Anzahl der Puffer, die bestimmten Statusbits.
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)
				
Stolen. Stolen Arbeitsspeicher beschreibt Puffer, die zum Sortieren oder Hashing-Operationen (Abfrage Arbeitsbereich Speicher) oder für diesen Puffer, die als generische Arbeitsspeicher Speicher für Zuordnungen verwendet werden, um interne Datenstrukturen, z. B. sperren, Transaktionskontext und Verbindungsinformationen zu speichern. Der Prozess für verzögertes Schreiben darf nicht leeren Puffer aus dem Pufferpool Stolen .

frei . frei bezieht sich auf übergebenen Puffer, die derzeit nicht verwendet werden. Diese Daten stehen, oder Sie von anderen Komponenten angefordert und als Stolen markiert werden können.

Prozeduren . Verfahren bezieht sich auf Puffer, die zwischengespeicherte Prozedur Speicher halten sind. Dieser Puffer enthalten kompilierte und ausführbare Pläne für die Prozeduren und zwischengespeicherte ad-hoc-Pläne.

Inram . Inram bezieht sich auf Seiten für fixierte Tabellen, die aus dem Speicher (fixiert mithilfe der DBCC PINTABLE-Befehls oder der Prozedur Sp_tableoption gespeichert) nicht entfernt werden können.

dirty . Dirty bezieht sich auf Datenseiten, die Änderungen enthalten, die noch nicht geleert wurde auf dem Datenträger.

beibehalten . Kept bezieht sich auf Seiten, die vorübergehend im Arbeitsspeicher, um zu verhindern, wird geleert fixiert sind. Dieser Wert wird in SQL Server 2000 nicht verwendet.

I/O. e/A bezieht sich auf Puffer, die auf eine ausstehende e/A-Operation warten. Auf SQL Server 2000 enthält diese Zuordnung oder einen Puffer über AWE unmapping.

aktiviert . Die eingerastet Puffer erfassen die Anzahl der Puffer, in denen eine Verbindung lesen oder eine Zeile aus der Seite geändert wird. Ein Latch wird verwendet, um physischen Konsistenz der Daten in der Seite sicherzustellen, beim Lesen oder, geändert während eine Sperre verwendet wird, um die logische und Transaktionspublikationen Konsistenz sicherzustellen.

andere . Diese sind zugesicherten Seiten, die keinem der oben genannten Kriterien erfüllen. Normalerweise sind die Mehrzahl der Puffer, die diese Kriterien erfüllen, gehashte Daten- und Indexseiten im Puffercache.

Zweiter Abschnitt

Der zweite Abschnitt führt einige Summen, die der Gesamtgröße und den Aufbau des Pufferpools widerspiegeln.
Buffer Counts                  Buffers     
------------------------------ ----------- 
Committed                      1339
Target                         6318
Hashed                         914
InternalReservation            120
ExternalReservation            0
Min Free                       16

(6 row(s) affected)
				
ein Commit. Die Gesamtanzahl der Puffer, die in Windows NT festgeschrieben wurden. Der Wert zugesichert ist die aktuelle "Größe" des Pufferpools. Dieser Wert umfasst den physischen Speicher, der reserviert wird, wenn AWE aktiviert ist.

Ziel . Das Ziel übernommen Anzahl oder wie groß der Pufferpool möchten werden. Wenn die Ziel -Count größer als der Wert zugesichert ist, wächst der Pufferpool. Wenn die Ziel -Count kleiner als der Wert zugesichert ist, wird der Pufferpool verkleinern. Der Prozess für verzögertes Schreiben verwendet diesen Wert fest, ob um vergrößert oder verkleinert den Pufferpool.

gehasht . Die Anzahl der Daten- und Indexseiten, die im Pufferpool gespeichert sind.

InternalReservation . Die Anzahl der Seiten, die der Pufferpool für sich selbst. Der Wert InternalReservation ist die minimale Anzahl der Seiten, die erforderlich sind, um die einfache Daten Anforderungen für die aktuelle Anzahl der Benutzer zu erfüllen.

ExternalReservation . Die Anzahl der Seiten, die für Abfragen, führt eine Sortierung oder einer Hashoperation aber, haben nicht noch wurde gestohlen, reserviert wurden. Dies wird als ein Hinweis auf die für verzögertes Schreiben verwendet, eine anstehende Anforderung für eine große Speichermenge es wird.

Min. freier . Die Anzahl der Seiten, die der Pufferpool versucht, zur Liste freien zu halten. Wenn die Freiliste Min. freier Wert unterschreitet, versucht der Pufferpool freie Liste füllen, indem alte Seiten aus dem Datencache oder alte Prozeduren aus dem Prozedur-Cache verwerfen.

Dritte Abschnitt

Der dritte Abschnitt beschreibt den Aufbau des Prozedurcaches.
Procedure Cache                Value       
------------------------------ ----------- 
TotalProcs                     17
TotalPages                     89
InUsePages                     40

(3 row(s) affected)
				
TotalProcs . Die Gesamtzahl der zwischengespeicherten Objekte derzeit im Prozedurcache. Dieser Wert wird die Anzahl der Einträge in der virtuellen Tabelle Syscacheobjects entsprechen. Systemmonitor können Sie das SQL Server-Cache-Manager-Objekt für eine genaue Aufschlüsselung des Typs der zwischengespeicherten Objekte--für Beispiel, Trigger, Prozeduren und Ad-hoc-überwachen.

TotalPages . Die kumulative Anzahl der Seiten, die Sie benötigen, um alle zwischengespeicherten Objekte speichern.

InUsePages . Die Anzahl der Seiten im Prozedurcache, die Prozeduren angehören, die derzeit ausgeführt werden. Diese können nicht verworfen werden.

Vierte Abschnitt

Der vierte Abschnitt beschreibt die relative Verteilung der gestohlenen Puffer zwischen Hauptkomponente Gruppen auf dem Server. SQL Server implementiert einen eigenen Speicher-Manager, die Seiten des Puffer-Pool für kleine Zuordnungen verwenden und, zurückgreifen Betriebssystem Routinen nur für Zuordnungen, die größer als ungefähr 8 KB sind. Diese größeren Zuordnungen sind außerhalb des Pufferpools befinden und Sie werden häufig als bezeichnet Zuweisungen aus dem MemToLeave -Bereich. Die Größe dieses Bereichs kann mithilfe von gesteuert werden die -g Befehlszeilenoption.

Normalerweise sind die Mehrzahl der Speicherreservierungen aus MemToLeave von SQL Server-Speicher Consumern, die Ausführung in-Process wie COM-Objekte, erweiterten gespeicherten Prozeduren und Verbindungsserver. Die Betriebssystem-bezogenen Werte, die in DBCC MEMORYSTATUS gemeldet werden widerspiegeln nur MemToLeave -Zuweisungen, die direkt von SQL Server vorgenommen werden. Andere Zuordnungen, die im MemToLeave aus diesen anderen Komponenten auftreten, sind nicht enthalten, da SQL Server keine Kenntnis dieser Anforderungen für Arbeitsspeicher hat.
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)
				
gestohlen . Gesamte Anzahl der Puffer, die durch die fünf Speicherverwaltungsprogramme (Allgemein, Abfragen soll, Leistungsoptimierung, Dienstprogramme, Verbindung) aus dem Pufferpool gestohlen werden. Diese Seiten sind für Speicherzuordnungen, die kleiner als 8 KB verwendet.

Betriebssystem vorbehalten . Die Anzahl der Seiten, die vom Betriebssystem für die Zuweisung Anforderungen, die größer als ungefähr 8 KB sind reserviert sind.

Betriebssystem zugesichert . Die Menge an Arbeitsspeicher in die reservierten Bereiche, die ein Commit ausgeführt wurde. Der Betriebssystem-zugesicherte Wert sollte von kleiner oder gleich dem Betriebssystem vorbehalten Wert sein, da Puffer zuerst reserviert und dann ein Commit ausgeführt werden. Einige der Speicher decommitted möglicherweise nicht mehr verwendet wird.

Hinweis: Gibt es ein Fehler in SQL Server 2000 (, die in SQL Server 2000 Service Pack 3 behoben wird), bei dem dieser Wert nicht korrekt verwaltet werden, und darf daher außerhalb des gültigen Bereichs liegen.

Betriebssystem verwendet . Wenn die Puffer Zugesicherte Betriebssystem derzeit Ausstehende Speicherzuweisungen gesichert werden.

Allgemeine . Speicher, die von Consumern auf dem Server, einschließlich der Analyse oder Normalisierung, sperren, Transaktionskontext, interne Datenstrukturen beschreiben die Metadaten im Speicher für Tabellen und Indizes und andere allgemeine Speicher verwendet wird. Dieser Wert ist die Gesamtzahl der 8 KB-Puffer. Einige dieser möglicherweise aus dem Pufferpool gestohlen Puffer, und andere möglicherweise von MemToLeave .

QueryPlan . Arbeitsspeicher zum Speichern der Abfrage-Pläne oder transiently im Cache. Dieser Wert ist die Gesamtzahl der 8 KB-Puffer. Einige dieser möglicherweise aus dem Pufferpool gestohlen Puffer, und andere möglicherweise von MemToLeave .

Optimierer . Speicher, die vom Abfrageoptimierer verwendet wird. Dieser Wert ist die Gesamtzahl der 8 KB-Puffer. Einige dieser möglicherweise aus dem Pufferpool gestohlen Puffer, und andere möglicherweise von MemToLeave .

Dienstprogramme . Verwendeter Speicher von verschiedenen Dienstprogramme Routinen wie z. B. BCP, Protokoll-Manager, parallele Abfragen :: Fn_trace_gettable , und andere. Dieser Wert ist die Gesamtzahl der 8 KB-Puffer. Einige dieser möglicherweise aus dem Pufferpool gestohlen Puffer, und andere möglicherweise von MemToLeave .

Verbindung . Speicher, die zum Speichern von Datenstrukturen, die gedrückt halten der Verbindungskontext für jede Benutzerverbindung verwendet wird. Dies außerdem enthält den Speicher für das Netzwerk senden und Empfangspuffer, die eine Verbindung zugeordnet sind. Dieser Wert ist die Gesamtzahl der 8 KB-Puffer. Einige dieser kann gestohlen Puffer aus dem Pufferpool und andere sein, die aus dem MemToLeave möglicherweise.

Informationsquellen

SQL Server-Onlinedokumentation
Delaney, Kalen. In Microsoft SQL Server 2000, Microsoft Press, 2000.

Eigenschaften

Artikel-ID: 271624 - Geändert am: Mittwoch, 12. November 2003 - Version: 4.3
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Keywords: 
kbmt kbinfo KB271624 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 271624
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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