Sdílet prostřednictvím


sys.dm_xtp_system_memory_consumers (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Zaznamenává uživatele paměti na úrovni systému pro In-Memory OLTP. Paměť těchto příjemců pochází z výchozího fondu (pokud je přidělení v kontextu uživatelského vlákna) nebo z interního fondu (pokud je přidělení v kontextu systémového vlákna).

SELECT *
FROM sys.dm_xtp_system_memory_consumers;

Další informace najdete v tématu In-Memory OLTP (optimalizaceIn-Memory).

Název sloupce Typ Description
memory_consumer_id bigint Interní ID pro příjemce paměti.
memory_consumer_type int Celé číslo představující typ příjemce paměti s jednou z následujících hodnot:

0 – Nemělo by se zobrazovat. Agreguje využití paměti dvou nebo více příjemců.

1 – LOOKASIDE: Sleduje spotřebu paměti pro systémovou stránku.

2 – VARHEAP: Sleduje spotřebu paměti pro haldu s proměnlivou délkou.

4 . Fond stránek vstupně-výstupních operací: Sleduje spotřebu paměti pro fond systémových stránek používaný pro vstupně-výstupní operace.
memory_consumer_type_desc nvarchar(16) Popis typu příjemce paměti:

0 – Nemělo by se zobrazovat

1 - LOOKASIDE

2 . VARHEAP

4 . PGPOOL
memory_consumer_desc nvarchar(64) Popis instance příjemce paměti:

VARHEAP:
Halda systému. Pro obecné účely. Aktuálně se používá pouze k přidělení pracovních položek uvolňování paměti.
-NEBO-
Koukněte na haldu. Používá se při vyhledávání, když počet položek obsažených v seznamu vyhledávání dosáhne předem určeného limitu (obvykle kolem 5 000 položek).

PGPOOL: Pro fondy vstupně-výstupních systémů existují tři různé velikosti: fond stránek systému 4K, fond stránek systému 64 K a fond stránek systému 256 K.
lookaside_id bigint ID místního zprostředkovatele paměti vlákna a vyhledávání.
pagepool_id bigint ID zprostředkovatele paměti fondu stránek v místním vlákně.
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 uživatele paměti varheap.

Počínaje SYSTÉMEM SQL Server 2022 (16.x) platí pro uživatele paměti varheap a lookaside.
allocation_count int Počet přidělení

Počínaje SQL Serverem 2022 (16.x) je počet přidělení ze systémové haldy pro uživatele vyhledávací paměti.
partition_count int Počet oddílů superbloku pro tohoto příjemce paměti. Další informace naleznete v tématu Fragmentace paměti.
sizeclass_count int Počet tříd velikostí superbloku pro tohoto příjemce paměti. Fragmentace paměti.
min_sizeclass int Pouze interní použití.
max_sizeclass int Pouze interní použití.
memory_consumer_address varbinary Interní adresa příjemce.

Povolení

Vyžaduje oprávnění ZOBRAZIT STAV SERVERU na serveru.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.

Poznámky

V SYSTÉMU SQL Server 2022 (16.x) má toto zobrazení dynamické správy další sloupce specifické pro vylepšení paměti metadat databáze TempDB optimalizované pro paměť.

Examples

Tento příklad vypíše příjemce systémové paměti pro instanci SQL Serveru:

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;

Výstup zobrazuje všechny příjemce paměti na úrovni systému. Existují například spotřebitelé, kteří si transakce prohlíží stranou.

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

Zobrazení celkové paměti spotřebované systémovými alokátory:

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;

Tady je sada výsledků.

total_allocated_MB   total_used_MB
-------------------- --------------------
2                    2