sys.dm_os_memory_objects (Transact-SQL)
Gibt Speicherobjekte zurück, die derzeit von SQL Server zugeordnet werden. sys.dm_os_memory_objects wird für die Analyse der Speichernutzung und zur Identifizierung möglicher Speicherverluste verwendet.
Spaltenname |
Datentyp |
Beschreibung |
---|---|---|
memory_object_address |
varbinary(8) |
Adresse des Speicherobjekts. Lässt keine NULL-Werte zu. |
parent_address |
varbinary(8) |
Adresse des übergeordneten Speicherobjekts. Lässt NULL-Werte zu. |
pages_in_bytes |
bigint |
Arbeitsspeicher in Bytes, der von dieser Instanz des Arbeitsspeicherobjekts zugeordnet wird. Lässt keine NULL-Werte zu. |
creation_options |
int |
Nur zur internen Verwendung. Lässt NULL-Werte zu. |
bytes_used |
bigint |
Nur zur internen Verwendung. Lässt NULL-Werte zu. |
Typ |
nvarchar(60) |
Typ des Speicherobjekts: Hiermit wird eine Komponente angegeben, zu der dieses Speicherobjekt gehört, oder die Funktion des Speicherobjekts. Lässt NULL-Werte zu. |
name |
varchar(128) |
Nur zur internen Verwendung. NULL-Werte sind zulässig. |
memory_node_id |
smallint |
ID eines Speicherknotens, der von diesem Speicherobjekt verwendet wird. Lässt keine NULL-Werte zu. |
creation_time |
datetime |
Nur zur internen Verwendung. Lässt NULL-Werte zu. |
page_size_in_bytes |
int |
Größe der von diesem Objekt zugeordneten Seiten in Bytes. Lässt keine NULL-Werte zu. |
max_pages_in_bytes |
bigint |
Höchstmenge an Arbeitsspeicher, die je von diesem Arbeitsspeicherobjekt verwendet wurde. Lässt keine NULL-Werte zu. |
page_allocator_address |
varbinary(8) |
Speicheradresse der Seitenzuordnung. Lässt keine NULL-Werte zu. Weitere Informationen finden Sie unter sys.dm_os_memory_clerks (Transact-SQL). |
creation_stack_address |
varbinary(8) |
Nur zur internen Verwendung. Lässt NULL-Werte zu. |
sequence_num |
int |
Nur zur internen Verwendung. Lässt NULL-Werte zu. |
Berechtigungen
Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.
Hinweise
Speicherobjekte sind Heaps. Sie stellen im Vergleich zu den Arbeitsspeicherclerks Zuordnungen mit feinerer Granularität bereit. SQL Server-Komponenten verwenden Arbeitsspeicherobjekte anstelle der Arbeitsspeicherclerks. Speicherobjekte verwenden die Seitenzuordnungsschnittstelle des Arbeitsspeicherclerks für die Zuordnung von Seiten. Speicherobjekte verwenden keine Schnittstellen, die auf virtuellem Speicher oder Shared Memory basieren. Abhängig von den Zuordnungsmustern können Komponenten verschiedene Typen von Speicherobjekten erstellen, um Bereiche zufälliger Größe zuzuordnen.
Die Standardseitengröße eines Speicherobjekts beträgt 8 kB. Inkrementelle Speicherobjekte können jedoch Seitengrößen zwischen 512 Bytes und 8 kB aufweisen.
Hinweis |
---|
Die Seitengröße entspricht nicht der maximalen Zuordnung. Die Seitengröße ist vielmehr eine Zuordnungseinheit, die von einer Seitenzuordnung unterstützt und von einem Arbeitsspeicherclerk implementiert wird. Sie können von Arbeitsspeicherobjekten größere Zuordnungen als 8 KB anfordern. |
Kompatibilitätsunterstützung
In SQL Server 2012 wurden die folgenden Spalten umbenannt.
Name der vorherigen Spalte |
Name der neuen Spalte |
---|---|
pages_allocated_count |
pages_in_bytes |
max_pages_allocated_count |
max_pages_in_bytes |
Beispiele
Im folgenden Beispiel wird der von den einzelnen Speicherobjekttypen zugeordnete Speicherumfang zurückgegeben.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
Siehe auch
Verweis
Dynamische Verwaltungssichten und Funktionen (Transact-SQL)
Dynamische Verwaltungssichten in Verbindung mit dem SQL Server-Betriebssystem (Transact-SQL)