Not
Å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 minneskonsumenterna på databasnivå i den In-Memory OLTP-databasmotorn. Vyn returnerar en rad för varje minneskonsument som databasmotorn använder. Använd detta DMV för att se hur minnet är fördelat över olika interna objekt.
Mer information finns iIn-Memory OLTP-översikt och användningsscenarier.
Anmärkning
Resultatet från denna systemdynamiska hanteringsvy kan skilja sig åt beroende på vilken version av SQL Server som är installerad.
| Kolumnnamn | Datatyp | Description |
|---|---|---|
memory_consumer_id |
bigint | ID (internt) för minneskonsumenten. |
memory_consumer_type |
int | Typen av minneskonsument: 0 = Sammanlagd. (Aggregerar minnesanvändningen för två eller fler konsumenter. Det borde inte visas.) 2 = ( VARHEAP Spårar minnesförbrukning för en heap med variabel längd.)3 = HASH (Spårar minnesförbrukning för ett index.)4 = PGPOOL (DB-sidpool: Spårar minnesförbrukning för en databassidpool som används för körningsoperationer. Till exempel tabellvariabler och vissa serialiserbara skanningar. Det finns bara en minneskonsument av denna typ per databas.) |
memory_consumer_type_desc |
nvarchar(64) | Typ av minneskonsument: VARHEAP, HASH, eller PGPOOL.0 - (Bör inte visas) 2 - VARHEAP3 - HASH4 - PGPOOL |
memory_consumer_desc |
nvarchar(64) | Beskrivning av minneskonsumentinstansen. För mer information, läs tabellen nedan. |
object_id |
bigint | Objekt-ID som det allokerade minnet tillskrivs. Ett negativt värde för systemobjekt. |
xtp_object_id |
bigint | Det In-Memory OLTP-objekt-ID som motsvarar den minnesoptimerade tabellen. |
index_id |
int | Konsumentens index-ID (om det finns något). NULL för bastabeller. |
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 VARHEAP. |
allocation_count |
int | Antal allokeringar. |
partition_count |
int | Endast intern användning. |
sizeclass_count |
int | Endast intern användning. |
min_sizeclass |
int | Endast intern användning. |
max_sizeclass |
int | Endast intern användning. |
memory_consumer_address |
varbinary | Konsumentens interna adress. Endast för internt bruk. |
Följande tabell beskriver minneskonsumenterna som anges i kolumnen memory_consumer_type :
| Minneskonsument | Description | Typ |
|---|---|---|
256K page pool |
Minnespool som används under checkpoint-aktivitet. | PGPOOL |
4K page pool |
Minnespool som används under checkpoint-aktivitet. | PGPOOL |
Checkpoint table |
Endast intern användning. | VARHEAP |
Ckpt file table |
Endast intern användning. | VARHEAP |
Ckpt file watermark table |
Endast intern användning. | VARHEAP |
Database internal heap |
Används för att allokera databasdata som ingår i minnesdumpar och inte inkluderar användardata. | VARHEAP |
Database user heap |
Används för att allokera användardata till en databas (rader). | VARHEAP |
Encryption table |
Endast intern användning. | VARHEAP |
Hash index |
Spårar minnesförbrukning för ett index. Indikerar object_id tabellen och the av index_id själva hashindexet. |
HASH |
Large Rows File table |
Endast intern användning. | VARHEAP |
LOB Page Allocator |
Heapminne som används av stora rader. | VARHEAP |
Logical range index partition table |
Endast intern användning. | VARHEAP |
Logical root fragment table |
Endast intern användning. | VARHEAP |
Logical Root table |
Endast intern användning. | VARHEAP |
Logical Sequence Object table |
Endast intern användning. | VARHEAP |
Physical range index partition table |
Endast intern användning. | VARHEAP |
Physical root fragment table |
Endast intern användning. | VARHEAP |
Physical Root table |
Endast intern användning. | VARHEAP |
Physical Sequence object table |
Endast intern användning. | VARHEAP |
Range index heap |
Privat heap används av räckviddsindex för att allokera Bw-trädssidor. | VARHEAP |
Storage internal heap |
Endast intern användning. | VARHEAP |
Storage user heap |
Endast intern användning. | VARHEAP |
Table heap |
Heapminne som används av In-Memory tabeller. | VARHEAP |
Tail cache 256K page pool |
Endast intern användning. | PGPOOL |
Tx Segment table |
Endast intern användning. | VARHEAP |
Anmärkningar
När en minnesoptimerad tabell har ett kolumnlagringsindex använder systemet vissa interna tabeller, som förbrukar lite minne, för att spåra data för kolumnlagringsindexet. För detaljer om dessa interna tabeller och exempelfrågor som visar deras minnesanvändning, se sys.memory_optimized_tables_internal_attributes (Transact-SQL).
Permissions
Alla rader returneras om du har behörighet VIEW DATABASE STATE på den aktuella databasen. Annars returneras en tom raduppsättning.
Om du inte har behörighet VISA DATABAS returneras alla kolumner för rader i tabeller där du har SELECT-behörighet.
På SQL Server 2019 (15.x) och tidigare versioner returneras systemtabeller endast för användare med behörighet VISA DATABASSTATUS.
För SQL Server 2022 (16.x) och senare versioner kräver du behörighet VIEW DATABASE PERFORMANCE STATE på databasen.
Examples
Frågeminneskonsumenter i den aktuella databasen
Kör följande fråga mot exempeldatabasen WideWorldImporters , som innehåller minnesoptimerade tabeller:
SELECT CONVERT(CHAR(10), OBJECT_NAME(object_id)) AS Name,
memory_consumer_type_desc,
memory_consumer_desc,
object_id,
index_id,
allocated_bytes,
used_bytes
FROM sys.dm_db_xtp_memory_consumers;
Här är resultatet.
Name memory_consumer_type_desc memory_consumer_desc object_id index_id allocated_bytes used_bytes
---------- ------------------------- -------------------------------------- ----------- ----------- ----------------- ------------
NULL VARHEAP Range index heap -15 1 131072 176
NULL VARHEAP Physical range index partition table -15 NULL 0 0
NULL VARHEAP Range index heap -14 2 131072 192
NULL VARHEAP Range index heap -14 1 131072 208
NULL VARHEAP Large Rows File table -14 NULL 0 0
NULL HASH Hash index -13 1 2048 2048
NULL VARHEAP Encryption table -13 NULL 0 0
NULL HASH Hash index -10 2 32768 32768
NULL HASH Hash index -10 1 32768 32768
NULL VARHEAP Tx Segment table -10 NULL 65536 544
NULL HASH Hash index -11 1 32768 32768
NULL VARHEAP Checkpoint table -11 NULL 131072 320
NULL HASH Hash index -12 1 8192 8192
NULL VARHEAP Ckpt file table -12 NULL 131072 3120
NULL HASH Hash index -9 1 2048 2048
NULL VARHEAP Ckpt file watermark table -9 NULL 131072 1280
NULL VARHEAP Range index heap -7 1 262144 976
NULL VARHEAP Physical Sequence Object table -7 NULL 65536 864
NULL HASH Hash index -3 1 2048 2048
NULL VARHEAP Physical root fragment table -3 NULL 0 0
NULL HASH Hash index 0 2 8192 8192
NULL HASH Hash index 0 1 32768 32768
NULL VARHEAP Physical Root table NULL NULL 327680 12160
NULL PGPOOL Tail cache 256K page pool 0 NULL 262144 262144
NULL PGPOOL 256K page pool 0 NULL 35389440 18874368
NULL PGPOOL 64K page pool 0 NULL 131072 65536
NULL PGPOOL 4K page pool 0 NULL 49152 40960
NULL VARHEAP Storage internal heap NULL NULL 786432 4816
NULL VARHEAP Storage user heap NULL NULL 262144 22496
ColdRoomTe VARHEAP Range index heap 1179151246 3 196608 800
ColdRoomTe VARHEAP Range index heap 1179151246 2 196608 800
memory_opt VARHEAP Range index heap 1211151360 2 131072 208
VehicleTem VARHEAP Range index heap 1243151474 2 11796480 1181824
ColdRoomTe VARHEAP Table heap 1179151246 NULL 65536 384
memory_opt VARHEAP Table heap 1211151360 NULL 0 0
VehicleTem VARHEAP Table heap 1243151474 NULL 33423360 32802112
VehicleTem VARHEAP Range index heap 1243151474 2 131072 160
VehicleTem VARHEAP LOB Page Allocator 1243151474 NULL 0 0
VehicleTem VARHEAP Table heap 1243151474 NULL 0 0
NULL VARHEAP Range index heap -15 1 327680 176
NULL VARHEAP Logical range index partition table -15 NULL 0 0
NULL HASH Hash index -7 1 32768 32768
NULL VARHEAP Logical Sequence Object table -7 NULL 65536 600
NULL HASH Hash index -3 1 2048 2048
NULL VARHEAP Logical root fragment table -3 NULL 0 0
NULL HASH Hash index 0 1 32768 32768
NULL VARHEAP Logical Root table NULL NULL 327680 11120
NULL PGPOOL Tail cache 256K page pool 0 NULL 262144 0
NULL PGPOOL 256K page pool 0 NULL 10485760 0
NULL PGPOOL 64K page pool 0 NULL 131072 0
NULL PGPOOL 4K page pool 0 NULL 32768 0
NULL VARHEAP Database internal heap NULL NULL 1048576 8016
NULL VARHEAP Database user heap NULL NULL 65536 1024
Det totala minne som tilldelats och används från denna DMV är detsamma som objektnivån i sys.dm_db_xtp_table_memory_stats.
SELECT SUM(allocated_bytes) / (1024 * 1024) AS total_allocated_MB,
SUM(used_bytes) / (1024 * 1024) AS total_used_MB
FROM sys.dm_db_xtp_memory_consumers;
Här är resultatet.
total_allocated_MB total_used_MB
------------------ --------------------
92 51
Relaterat innehåll
- Introduktion till Memory-Optimized tabeller
- Memory-Optimized Tabelldynamiska hanteringsvyer (Transact-SQL)
- In-Memory OLTP-översikt och användningsscenarier
- Optimera prestanda med hjälp av minnesintern teknik i Azure SQL Database
- Optimera prestanda med hjälp av minnesintern teknik i Azure SQL Managed Instance