sys.dm_xtp_system_memory_consumers (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz
Meldet Speicherverbraucher auf Systemebene für IN-Memory OLTP. Der Arbeitsspeicher für diese Consumer stammt entweder aus dem Standardpool (bei Zuordnung im Kontext eines Benutzerthreads) oder dem internen Pool (bei Zuordnung im Kontext eines Systemthreads).
SELECT *
FROM sys.dm_xtp_system_memory_consumers;
Weitere Informationen finden Sie unter In-Memory OLTP (Speicheroptimierung).
Spaltenname | type | Beschreibung |
---|---|---|
memory_consumer_id | bigint | Interne ID für Arbeitsspeicherconsumer. |
memory_consumer_type | int | Eine ganze Zahl, die den Typ des Arbeitsspeicherconsumers mit einem der folgenden Werte darstellt: 0 – Sollte nicht angezeigt werden. Aggregiert die Speichernutzung von zwei oder mehreren Consumern. 1 (LOOKASIDE): Verfolgt die Arbeitsspeichernutzung für ein Systemlookaside nach. 2 (VARHEAP): Verfolgt die Arbeitsspeichernutzung für einen Heap variabler Länge nach. 4 (E/A-Seitenpool): Verfolgt die Arbeitsspeichernutzung für einen Systemseitenpool nach, der für E/A-Vorgänge verwendet wird. |
memory_consumer_type_desc | nvarchar(16) | Die Beschreibung des Typs des Arbeitsspeicherconsumers: 0 – Sollte nicht angezeigt werden 1: LOOKASIDE 2 - VARHEAP 4 - PGPOOL |
memory_consumer_desc | nvarchar(64) | Die Beschreibung der Arbeitsspeicherconsumer-Instanz: VARHEAP: Der Systemheap. Allgemeiner Zweck. Wird derzeit nur verwendet, um Arbeitselemente der Garbage Collection zuzuordnen. ODER Der Lookasideheap. Wird von Lookasides verwendet, wenn die Anzahl der in der Lookasideliste enthaltenen Elemente einen vordefinierten Grenzwert (normalerweise etwa 5.000 Elemente) erreicht. PGPOOL: Für IO-Systempools gibt es drei verschiedene Größen: System 4K-Seitenpool, System 64-K-Seitenpool und System 256-K-Seitenpool. |
lookaside_id | bigint | Die ID des threadlokalen Nebenarbeitsspeicheranbieters. |
pagepool_id | bigint | Die ID des threadlokalen Seitenpool-Arbeitsspeicheranbieters. |
allocated_bytes | bigint | Anzahl der für den Consumer reservierten Bytes. |
used_bytes | bigint | Die von diesem Consumer verwendeten Bytes. Gilt nur für varheap-Arbeitsspeicherconsumer. Ab SQL Server 2022 (16.x) gilt für Varheap- und Lookaside-Speicherverbraucher. |
allocation_count | int | Anzahl der Zuordnungen. Ab SQL Server 2022 (16.x) gibt es die Anzahl der Zuordnungen aus dem System heap für Suchspeicherverbraucher. |
partition_count | int | Nur zur internen Verwendung. |
sizeclass_count | int | Nur zur internen Verwendung. |
min_sizeclass | int | Nur zur internen Verwendung. |
max_sizeclass | int | Nur zur internen Verwendung. |
memory_consumer_address | varbinary | Interne Adresse des Consumers. |
Berechtigungen
Erfordert VIEW SERVER STATE-Berechtigungen auf dem Server.
Berechtigungen für SQL Server 2022 und höher
Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.
Hinweise
In SQL Server 2022 (16.x) verfügt dieser DMV über zusätzliche Spalten, die für speicheroptimierte TempDB-Metadatenspeicherverbesserungen spezifisch sind.
Beispiele
In diesem Beispiel werden die Arbeitsspeicherconsumer des Systems für die SQL Server-Instanz ausgegeben:
SELECT memory_consumer_type_desc,
memory_consumer_desc,
allocated_bytes / 1024 as allocated_bytes_kb,
used_bytes / 1024 as used_bytes_kb,
allocation_count
FROM sys.dm_xtp_system_memory_consumers;
In der Ausgabe werden alle Arbeitsspeicherconsumer auf Systemebene angezeigt. Beispielsweise gibt es Consumer für das Transaktionslookaside.
memory_consumer_type_desc memory_consumer_desc allocated_bytes_kb used_bytes_kb allocation_count
------------------------------- --------------------- ------------------- -------------- ----------------
VARHEAP Lookaside heap 0 0 0
VARHEAP System heap 768 0 2
LOOKASIDE GC transaction map entry 64 64 910
LOOKASIDE Redo transaction map entry 128 128 1260
LOOKASIDE Recovery table cache entry 448 448 8192
LOOKASIDE Transaction recent rows 3264 3264 4444
LOOKASIDE Range cursor 0 0 0
LOOKASIDE Hash cursor 3200 3200 11070
LOOKASIDE Transaction save-point set entry 0 0 0
LOOKASIDE Transaction partially-inserted rows set 704 704 1287
LOOKASIDE Transaction constraint set 576 576 1940
LOOKASIDE Transaction save-point set 0 0 0
LOOKASIDE Transaction write set 704 704 672
LOOKASIDE Transaction scan set 320 320 156
LOOKASIDE Transaction read set 704 704 343
LOOKASIDE Transaction 4288 4288 1459
PGPOOL System 256K page pool 5120 5120 20
PGPOOL System 64K page pool 0 0 0
PGPOOL System 4K page pool 24 24 6
So zeigen Sie den durch Systemzuordnungen belegten Gesamtarbeitsspeicher an
SELECT SUM(allocated_bytes) / (1024 * 1024) AS total_allocated_MB,
SUM(used_bytes) / (1024 * 1024) AS total_used_MB
FROM sys.dm_xtp_system_memory_consumers;
Hier ist das Resultset.
total_allocated_MB total_used_MB
-------------------- --------------------
2 2