Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Rapporterar minneskonsumenter på systemnivå för In-Memory OLTP. Minnet för dessa konsumenter kommer antingen från standardpoolen (när allokeringen är i kontexten för en användartråd) eller från den interna poolen (om allokeringen finns i kontexten för en systemtråd).
SELECT *
FROM sys.dm_xtp_system_memory_consumers;
Mer information finns iIn-Memory OLTP (In-Memory Optimization).
| Kolumnnamn | Typ | Description |
|---|---|---|
| memory_consumer_id | bigint | Internt ID för minneskonsument. |
| memory_consumer_type | int | Ett heltal som representerar minneskonsumentens typ med något av följande värden: 0 – Bör inte visas. Aggregerar minnesanvändningen för två eller flera konsumenter. 1 – LOOKASIDE: Spårar minnesförbrukning för en system-lookaside. 2 – VARHEAP: Spårar minnesförbrukning för en heap med variabel längd. 4 – I/O-sidpool: Spårar minnesförbrukning för en systemsidepool som används för I/O-åtgärder. |
| memory_consumer_type_desc | nvarchar(16) | Beskrivningen av typen av minneskonsument: 0 – Bör inte visas 1 - LOOKASIDE 2 – VARHEAP 4 – PGPOOL |
| memory_consumer_desc | nvarchar(64) | Beskrivning av minneskonsumentinstansen: VARHEAP: Systemhög. Generell användning. Används för närvarande endast för att allokera skräpinsamlingsarbetsobjekt. ELLER Lookaside heap. Används av lookasides när antalet objekt som finns i lookaside-listan når ett förutbestämt tak (vanligtvis cirka 5 000 objekt). PGPOOL: För I/O-systempooler finns det tre olika storlekar: System 4K-sidpool, System 64-K-sidpool och System 256-K-sidpool. |
| lookaside_id | bigint | ID för den trådlokala minnesprovidern lookaside. |
| pagepool_id | bigint | ID:t för den trådlokala, sidpoolens minnesprovider. |
| allocated_bytes | bigint | Antal byte som reserverats för den här konsumenten. |
| used_bytes | bigint | Byte som används av den här konsumenten. Gäller endast för minneskonsumenter med varheap. Från och med SQL Server 2022 (16.x) gäller för minneskonsumenter med varheap och lookaside. |
| allocation_count | int | Antal allokeringar. Från och med SQL Server 2022 (16.x), antalet allokeringar från system heap för lookaside minneskonsumenter. |
| partition_count | int | Antalet superblockspartitioner för den här minneskonsumenten. Mer information finns i Minnesfragmentering. |
| sizeclass_count | int | Antalet superblocksstorleksklasser för den här minneskonsumenten. Minnesfragmentering. |
| min_sizeclass | int | Endast intern användning. |
| max_sizeclass | int | Endast intern användning. |
| memory_consumer_address | varbinary | Konsumentens interna adress. |
Permissions
Kräver tillståndsbehörigheter för VIEW SERVER på servern.
Behörigheter för SQL Server 2022 och senare
Kräver BEHÖRIGHET FÖR VISNINGSSERVERNS PRESTANDATILLSTÅND på servern.
Anmärkningar
I SQL Server 2022 (16.x) har denna DMV ytterligare kolumner som är specifika för minnesoptimerade förbättringar av TempDB-metadataminnet.
Examples
I det här exemplet matas systemminneskonsumenterna ut för SQL Server-instansen:
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;
Utdata visar alla minneskonsumenter på systemnivå. Det finns till exempel konsumenter för transaktionssökning åt sidan.
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
Så här ser du det totala minne som förbrukas av systemallokerare:
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;
Här är resultatuppsättningen.
total_allocated_MB total_used_MB
-------------------- --------------------
2 2