Megosztás a következőn keresztül:


sys.dm_db_xtp_memory_consumers (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Jelentése az adatbázis-szintű memóriafogyasztóknak a In-Memory OLTP adatbázis motorban. A nézet minden memóriafogyasztó számára egy sort ad vissza, amelyet az adatbázis motor használ. Használd ezt a DMV-t, hogy megnézd, hogyan oszlik el a memória különböző belső objektumok között.

További információ: In-Memory OLTP áttekintése és használati forgatókönyvei.

Megjegyzés:

Ennek a rendszerdinamikus menedzsment nézetnek a kimenete eltérő lehet, attól függően, melyik SQL Server verziója telepített.

Oszlop név Adattípus Description
memory_consumer_id bigint A memóriafogyasztó azonosítója (internal).
memory_consumer_type int A memóriafogyasztó típusa:

0 = aggregáció. (Két vagy több felhasználó memóriahasználatát összesíti. Nem szabadna megjeleníteni.)

2 = VARHEAP (Követi a memóriafogyasztást egy változó hosszúságú halom esetén.)

3 = HASH (Követi az index memóriafogyasztását.)

4 = PGPOOL (DB page pool: Követi a memóriaigényt egy futási idejű műveletekhez használt adatbázis oldalpoolhoz. Például táblázatváltozók és néhány serializálható szkennelés is. Adatbázisonként csak egy ilyen típusú memóriafogyasztó létezik.)
memory_consumer_type_desc nvarchar(64) Memóriafogyasztó típusa: VARHEAP, HASH, vagy PGPOOL.

0 - (Nem szabadna megjeleníteni)
2 - VARHEAP
3 - HASH
4 - PGPOOL
memory_consumer_desc nvarchar(64) A memóriafogyasztó példány leírása. További információért tekintse meg az alábbi táblázatot.
object_id bigint Az objektumazonosító, amelyhez a kijelölt memóriát hozzáruházják. Negatív érték a rendszerobjektumokra.
xtp_object_id bigint A In-Memory OLTP objektumazonosító, amely megfelel a memóriaoptimalizált táblának.
index_id int A fogyasztó indexazonosítója (ha van ilyen). NULL az alaptábláknál.
allocated_bytes bigint A fogyasztó számára fenntartott bájtok száma.
used_bytes bigint A fogyasztó által használt bájtok. Csak a VARHEAP.
allocation_count int Foglalások száma.
partition_count int Csak belső használatra.
sizeclass_count int Csak belső használatra.
min_sizeclass int Csak belső használatra.
max_sizeclass int Csak belső használatra.
memory_consumer_address varbinary A fogyasztó belső címe. Csak belső használatra.

Az alábbi táblázat írja le az oszlopban megadott memóriafogyasztókat memory_consumer_type :

Memóriafogyasztó Description Típus
256K page pool Memória medencé, amelyet ellenőrzőpont-aktivitás közben használnak. PGPOOL
4K page pool Memória medencé, amelyet ellenőrzőpont-aktivitás közben használnak. PGPOOL
Checkpoint table Csak belső használatra. VARHEAP
Ckpt file table Csak belső használatra. VARHEAP
Ckpt file watermark table Csak belső használatra. VARHEAP
Database internal heap Olyan adatbázis-adatok kiosztására használják, amelyek memóriadumpokban vannak, és nem tartalmazzák a felhasználói adatokat. VARHEAP
Database user heap Felhasználói adatok (sorok) elosztására használják. VARHEAP
Encryption table Csak belső használatra. VARHEAP
Hash index Követi az index memóriafogyasztását. A object_id táblázatot és index_id magát a hash indexet jelzi. HASH
Large Rows File table Csak belső használatra. VARHEAP
LOB Page Allocator Nagy sorok halommemória használata. VARHEAP
Logical range index partition table Csak belső használatra. VARHEAP
Logical root fragment table Csak belső használatra. VARHEAP
Logical Root table Csak belső használatra. VARHEAP
Logical Sequence Object table Csak belső használatra. VARHEAP
Physical range index partition table Csak belső használatra. VARHEAP
Physical root fragment table Csak belső használatra. VARHEAP
Physical Root table Csak belső használatra. VARHEAP
Physical Sequence object table Csak belső használatra. VARHEAP
Range index heap Magánhalom, amelyet a tartományindex, a Bw-fa oldalak kijelölésére. VARHEAP
Storage internal heap Csak belső használatra. VARHEAP
Storage user heap Csak belső használatra. VARHEAP
Table heap A In-Memory táblák által használt halom memória. VARHEAP
Tail cache 256K page pool Csak belső használatra. PGPOOL
Tx Segment table Csak belső használatra. VARHEAP

Megjegyzések

Amikor egy memóriaoptimalizált táblának columnstore indexe van, a rendszer belső táblákat használ, amelyek némi memóriát fogyasztanak az oszloptároló index adatainak nyomon követésére. A belső táblákról és a memóriafogyasztásukat bemutató mintalekérdezésekről a sys.memory_optimized_tables_internal_attributes (Transact-SQL) oldalon olvasható.

Permissions

Minden sor visszatér, ha a jelenlegi adatbázisban VIEW DATABASE STATE engedélyed van. Ellenkező esetben egy üres sorhalmaz jelenik meg.

Ha nincs VIEW DATABASE engedélyed, akkor minden oszlop visszakerül azokhoz a sorokhoz a táblázatokban, amelyekre SELECT engedélyed van.

SQL Server 2019 (15.x) és korábbi verziókban a rendszertáblák csak a VIEW DATABASE STATE jogosult felhasználók számára jelennek meg.

SQL Server 2022 (16.x) és újabb verziók esetén VIEW DATABASE PERFORMANCE STATE engedélyre van szükség az adatbázison.

Példák

Lekérdezés memóriafogyasztókra a jelenlegi adatbázisban

Futtassuk le a következő lekérdezést a mintaadatbázis WideWorldImporters ellen, amely memóriaoptimalizált táblákat tartalmaz:

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;

Itt van az eredmények összessége.

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

A DMV-ből kiosztott és használt teljes memória megegyezik az sys.dm_db_xtp_table_memory_stats objektum szintjével.

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;

Itt van az eredmények összessége.

total_allocated_MB total_used_MB
------------------ --------------------
92                 51