Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Hlásí sběratele paměti na úrovni databáze In-Memory OLTP. Pohled vrací řádek pro každého uživatele paměti, kterého databázový engine používá. Použijte toto DMV, abyste viděli, jak je paměť rozložena mezi různými interními objekty.
Další informace najdete v tématu In-Memory přehled a scénáře použití OLTP.
Poznámka:
Výstup tohoto pohledu na dynamickou správu systému se může lišit v závislosti na verzi SQL Serveru, která je nainstalována.
| Název sloupce | Datový typ | Description |
|---|---|---|
memory_consumer_id |
bigint | ID (interní) spotřebitele paměti. |
memory_consumer_type |
int | Typ uživatele paměti: 0 = Agregace. (Agreguje využití paměti dvou nebo více spotřebitelů. Nemělo by to být zobrazeno.) 2 = VARHEAP (Sleduje spotřebu paměti u haldy s proměnnou délkou.)3 = HASH (Sleduje spotřebu paměti pro index.)4 = PGPOOL (DB page pool: Sleduje spotřebu paměti pro databázový stránkový pool používaný pro runtime operace. Například tabulkové proměnné a některé serializovatelné skeny. V každé databázi je pouze jeden uživatel paměti tohoto typu.) |
memory_consumer_type_desc |
nvarchar(64) | Typ spotřebitele paměti: VARHEAP, HASH, nebo PGPOOL.0 - (Nemělo by se zobrazovat) 2 - VARHEAP3 - HASH4 - PGPOOL |
memory_consumer_desc |
nvarchar(64) | Popis instance spotřebitele paměti. Pro více informací si prohlédněte následující tabulku. |
object_id |
bigint | ID objektu, ke kterému je přiřazena alokovaná paměť. Záporná hodnota pro systémové objekty. |
xtp_object_id |
bigint | Identifikátor objektu In-Memory OLTP, který odpovídá tabulce optimalizované pro paměť. |
index_id |
int | Indexové ID spotřebitele (pokud nějaké je). NULL pro základní tabulky. |
allocated_bytes |
bigint | Počet bajtů vyhrazených pro tohoto příjemce |
used_bytes |
bigint | Bajty používané tímto příjemcem Platí pouze pro VARHEAP. |
allocation_count |
int | Počet přidělení |
partition_count |
int | Pouze interní použití. |
sizeclass_count |
int | Pouze interní použití. |
min_sizeclass |
int | Pouze interní použití. |
max_sizeclass |
int | Pouze interní použití. |
memory_consumer_address |
varbinary | Interní adresa příjemce. Pouze pro interní použití. |
Následující tabulka popisuje spotřebitele paměti uvedené ve sloupci memory_consumer_type :
| Spotřebitel paměti | Description | Typ |
|---|---|---|
256K page pool |
Paměťový fond používaný během aktivity kontrolních bodů. | PGPOOL |
4K page pool |
Paměťový fond používaný během aktivity kontrolních bodů. | PGPOOL |
Checkpoint table |
Pouze interní použití. | VARHEAP |
Ckpt file table |
Pouze interní použití. | VARHEAP |
Ckpt file watermark table |
Pouze interní použití. | VARHEAP |
Database internal heap |
Používá se k alokaci databázových dat, která jsou součástí paměťových výpisů, a neobsahují uživatelská data. | VARHEAP |
Database user heap |
Používá se k alokaci uživatelských dat pro databázi (řádky). | VARHEAP |
Encryption table |
Pouze interní použití. | VARHEAP |
Hash index |
Sleduje spotřebu paměti pro index. Označuje object_id tabulku a samotný index_id hashovací index. |
HASH |
Large Rows File table |
Pouze interní použití. | VARHEAP |
LOB Page Allocator |
Paměť haldy používaná velkými řádky. | VARHEAP |
Logical range index partition table |
Pouze interní použití. | VARHEAP |
Logical root fragment table |
Pouze interní použití. | VARHEAP |
Logical Root table |
Pouze interní použití. | VARHEAP |
Logical Sequence Object table |
Pouze interní použití. | VARHEAP |
Physical range index partition table |
Pouze interní použití. | VARHEAP |
Physical root fragment table |
Pouze interní použití. | VARHEAP |
Physical Root table |
Pouze interní použití. | VARHEAP |
Physical Sequence object table |
Pouze interní použití. | VARHEAP |
Range index heap |
Soukromá halda používaná indexem rozsahu k alokaci stránek Bw-stromu. | VARHEAP |
Storage internal heap |
Pouze interní použití. | VARHEAP |
Storage user heap |
Pouze interní použití. | VARHEAP |
Table heap |
Paměť na haldě používaná In-Memory tabulkami. | VARHEAP |
Tail cache 256K page pool |
Pouze interní použití. | PGPOOL |
Tx Segment table |
Pouze interní použití. | VARHEAP |
Poznámky
Když má paměťově optimalizovaná tabulka index columnstore, systém používá některé interní tabulky, které spotřebovávají část paměti, k sledování dat pro index columnstore. Podrobnosti o těchto interních tabulkách a ukázkových dotazech ukazujících jejich spotřebu paměti najdete v sys.memory_optimized_tables_internal_attributes (Transact-SQL).
Povolení
Všechny řádky se vrátí, pokud máte v aktuální databázi povolení ZOBRAZIT STAV DATABÁZE. Jinak se vrátí prázdná sada řádků.
Pokud nemáte oprávnění ZOBRAZIT DATABÁZI, všechny sloupce se vrátí pro řádky v tabulkách, na které máte povolení VYBRAT.
Na SQL Server 2019 (15.x) a předchozích verzích jsou systémové tabulky vraceny pouze uživatelům s oprávněním ZOBRAZIT STAV DATABÁZE.
Pro verze SQL Server 2022 (16.x) a novějších je potřeba na databázi povolení ZOBRAZIT STAV VÝKONU DATABÁZE.
Examples
Dotazovací spotřebitelé paměti v aktuální databázi
Spusť následující dotaz na ukázkovou WideWorldImporters databázi, která obsahuje tabulky optimalizované pro paměť:
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;
Tady je soubor výsledků.
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
Celková paměť přidělená a využitá z tohoto DMV je stejná jako úroveň objektu v 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;
Tady je soubor výsledků.
total_allocated_MB total_used_MB
------------------ --------------------
92 51
Související obsah
- Úvod do tabulek optimalizovaných pro paměť
- Memory-Optimized Dynamické pohledy na správu tabulek (Transact-SQL)
- In-Memory přehled a scénáře použití OLTP
- Optimalizace výkonu pomocí technologií v paměti ve službě Azure SQL Database
- Optimalizace výkonu pomocí technologií v paměti ve službě Azure SQL Managed Instance