sys.dm_os_memory_objects (Transact-SQL)

 

DIESES THEMA GILT FÜR:jaSQL Server (ab 2008)jaAzure SQL-DatenbankjaAzure SQL Data Warehouse jaParallel Data Warehouse

Gibt Speicherobjekte, die vom derzeit zugeordnet sind SQL Server. Sie können dm_os_memory_objects Analyse der speichernutzung und Identifizierung möglicher Speicherverluste.

SpaltennameDatentypDescription
memory_object_addressvarbinary(8)Adresse des Speicherobjekts. Lässt keine NULL-Werte zu.
parent_addressvarbinary(8)Adresse des übergeordneten Speicherobjekts. Lässt NULL-Werte zu.
pages_allocated_countintGilt für: SQL Server 2008 bis SQL Server 2008 R2.

Anzahl der von diesem Objekt zugeordneten Seiten. Lässt keine NULL-Werte zu.
pages_in_bytesbigintGilt für: SQL Server 2012 bis SQL Server 2016.

Arbeitsspeicher in Bytes, der von dieser Instanz des Arbeitsspeicherobjekts zugeordnet wird. Lässt keine NULL-Werte zu.
creation_optionsintNur interne Verwendung. Lässt NULL-Werte zu.
bytes_usedbigintNur interne Verwendung. Lässt NULL-Werte zu.
typenvarchar(60)Typ des Speicherobjekts:

Hiermit wird eine Komponente, der dieses Speicherobjekt gehört, oder die Funktion des Speicherobjekts. Lässt NULL-Werte zu.
namevarchar(128)Nur interne 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 interne Verwendung. Lässt NULL-Werte zu.
max_pages_allocated_countintGilt für: SQL Server 2008 bis SQL Server 2008 R2.

Maximale Anzahl der von diesem Speicherobjekt zugeordneten Seiten. Lässt keine NULL-Werte zu.
page_size_in_bytesintGilt für: SQL Server 2012 bis SQL Server 2016.

Größe der von diesem Objekt zugeordneten Seiten in Bytes. Lässt keine NULL-Werte zu.
max_pages_in_bytesbigintHöchstmenge an Arbeitsspeicher, die je von diesem Arbeitsspeicherobjekt verwendet wurde. Lässt keine NULL-Werte zu.
page_allocator_addressvarbinary(8)Speicheradresse der Seitenzuordnung. Lässt keine NULL-Werte zu. Weitere Informationen finden Sie unter dm_os_memory_clerks (Transact-SQL).
creation_stack_addressvarbinary(8)Nur interne Verwendung. Lässt NULL-Werte zu.
sequence_numintNur interne Verwendung. Lässt NULL-Werte zu.
partition_typeintDer Typ der Partition:

0 – nicht partitionierbare Speicherobjekt

1 - partitionierbare Speicherobjekt, derzeit nicht partitioniert.

2 – partitionierbare Speicherobjekt, partitioniert von NUMA-Knoten. In einer Umgebung mit einem einzelnen NUMA-Knoten entspricht dies 1.

3 – partitionierbare Speicherobjekt, partitioniert nach CPU aus.
contention_factorechteEin Wert, Konflikte mit 0 bedeutet keine Konflikte auf dieses Speicherobjekt angeben. Der Wert wird aktualisiert, sobald eine angegebene Anzahl von speicherbelegungen spiegelnden Konflikte innerhalb dieses Zeitraums vorgenommen wurden. Gilt nur für Thread-sichere Speicherobjekt-Objekte.
waiting_tasks_countbigintDie Anzahl von Wartevorgängen für dieses Speicherobjekt. Dieser Indikator wird erhöht, wenn Arbeitsspeicher von diesem Speicherobjekt zugewiesen ist. Das Inkrement ist die Anzahl der Aufgaben, die derzeit für den Zugriff auf dieses Speicherobjekt wartet. Gilt nur für Thread-sichere Speicherobjekt-Objekte. Dies ist eine bewährte Aufwand Wert ohne Garantie auf Richtigkeit.
exclusive_access_countbigintGibt an, wie oft dieses Speicherobjekt ausschließlich zugegriffen wurde. Gilt nur für Thread-sichere Speicherobjekt-Objekte. Dies ist eine bewährte Aufwand Wert ohne Garantie auf Richtigkeit.
pdw_node_idintGilt für: Azure SQL Data Warehouse,Parallel Data Warehouse

Der Bezeichner für den Knoten, dem auf diesem Verteilungspunkt befindet.

Partition_type, Contention_factor, Waiting_tasks_count, und Exclusive_access_count sind noch nicht im implementiert SQL-Datenbank.

Erfordert die VIEW SERVER STATE-Berechtigung auf dem Server.

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.

System_CAPS_ICON_note.jpg 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.

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  

Dynamische Verwaltungssichten und-Funktionen (Transact-SQL)
SQL Server-Betriebssystem verbundene dynamische Verwaltungssichten (Transact-SQL)
dm_os_memory_clerks (Transact-SQL)

Community-Beiträge

HINZUFÜGEN
Anzeigen: