Aracılığıyla paylaş


sys.dm_db_xtp_memory_consumers (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

In-Memory OLTP veritabanı motorunda veritabanı düzeyindeki bellek tüketicilerini raporlar. Görünüm, veritabanı motorunun kullandığı her bellek tüketicisi için bir satır döndürür. Bu DMV'yi kullanarak belleğin farklı dahili nesneler arasında nasıl dağıtıldığını görebilirsiniz.

Daha fazla bilgi için bkz. OLTP'ye genel bakış ve kullanım senaryolarıIn-Memory.

Uyarı

Bu sistem dinamik yönetim görünümünün çıktısı, kurulu SQL Server sürümüne bağlı olarak farklı olabilir.

Sütun adı Veri türü Description
memory_consumer_id bigint Bellek tüketicisinin ID'si (dahil) olarak tanımlanır.
memory_consumer_type int Bellek tüketicisinin türü:

0 = Toplama. (İki veya daha fazla tüketicinin bellek kullanımını toplar. Gösterilmemeli.)

2 = VARHEAP (Değişken uzunlukta bir yığın için bellek tüketimini takip eder.)

3 = HASH (Bir indeks için bellek tüketimini takip eder.)

4 = PGPOOL (DB sayfa havuzu: Çalışma zamanı işlemleri için kullanılan bir veritabanı sayfa havuzu için bellek tüketimini izler. Örneğin, tablo değişkenleri ve bazı serileştirilebilir taramalar. Her veritabanı için bu tür bellek tüketicisi yalnızca bir tane vardır.)
memory_consumer_type_desc nvarchar(64) Bellek tüketicisi türü: VARHEAP, HASH, veya PGPOOL.

0 - (Görüntülenmemeli)
2 - VARHEAP
3 - HASH
4 - PGPOOL
memory_consumer_desc nvarchar(64) Bellek tüketici örneğinin tanımı. Daha fazla bilgi için aşağıdaki tabloyu inceleyin.
object_id bigint Tahsis edilen belleğe atrifedilen nesne kimliği. Sistem nesneleri için negatif bir değer.
xtp_object_id bigint In-Memory OLTP nesne kimliği, bellek optimize edilmiş tabloya karşılık gelir.
index_id int Tüketicinin (varsa) endeks kimliği. Temel tablolar için NULL.
allocated_bytes bigint Bu tüketici için ayrılmış bayt sayısı.
used_bytes bigint Bu tüketici tarafından kullanılan bayt sayısı. Sadece için VARHEAPgeçerlidir.
allocation_count int Ayırma sayısı.
partition_count int Yalnızca iç kullanım.
sizeclass_count int Yalnızca iç kullanım.
min_sizeclass int Yalnızca iç kullanım.
max_sizeclass int Yalnızca iç kullanım.
memory_consumer_address varbinary Tüketicinin iç adresi. Yalnızca dahili kullanım için.

Aşağıdaki tablo, sütunda belirtilen memory_consumer_type bellek tüketicilerini tanımlar:

Bellek tüketicisi Description Türü
256K page pool Kontrol noktası aktivitesi sırasında kullanılan bellek havuzu. PGPOOL
4K page pool Kontrol noktası aktivitesi sırasında kullanılan bellek havuzu. PGPOOL
Checkpoint table Yalnızca iç kullanım. VARHEAP
Ckpt file table Yalnızca iç kullanım. VARHEAP
Ckpt file watermark table Yalnızca iç kullanım. VARHEAP
Database internal heap Bellek dökümlerine dahil edilen ve kullanıcı verisini içermeyen veritabanı verilerini tahsis etmek için kullanılır. VARHEAP
Database user heap Bir veritabanı (satırlar) için kullanıcı verilerini tahsis etmek için kullanılır. VARHEAP
Encryption table Yalnızca iç kullanım. VARHEAP
Hash index Bir indeks için bellek tüketimini takip eder. Tabloyu object_id ve hash indeksinin kendisini index_id gösterir. HASH
Large Rows File table Yalnızca iç kullanım. VARHEAP
LOB Page Allocator Büyük sıralar tarafından kullanılan yığın bellek. VARHEAP
Logical range index partition table Yalnızca iç kullanım. VARHEAP
Logical root fragment table Yalnızca iç kullanım. VARHEAP
Logical Root table Yalnızca iç kullanım. VARHEAP
Logical Sequence Object table Yalnızca iç kullanım. VARHEAP
Physical range index partition table Yalnızca iç kullanım. VARHEAP
Physical root fragment table Yalnızca iç kullanım. VARHEAP
Physical Root table Yalnızca iç kullanım. VARHEAP
Physical Sequence object table Yalnızca iç kullanım. VARHEAP
Range index heap Bw-tree sayfalarını tahsis etmek için aralık indeksi tarafından kullanılan özel yığın. VARHEAP
Storage internal heap Yalnızca iç kullanım. VARHEAP
Storage user heap Yalnızca iç kullanım. VARHEAP
Table heap In-Memory tablolar tarafından kullanılan yığın bellek. VARHEAP
Tail cache 256K page pool Yalnızca iç kullanım. PGPOOL
Tx Segment table Yalnızca iç kullanım. VARHEAP

Açıklamalar

Bellek optimize edilmiş bir tabloda columnstore indeksi olduğunda, sistem columnstore indeksi için verileri takip etmek için bazı dahili tablolar kullanır; bu tablolar bellek tüketir. Bu iç tablolar ve bellek tüketimini gösteren örnek sorgular hakkında detaylar için sys.memory_optimized_tables_internal_attributes (Transact-SQL) bkz.

Permissions

Mevcut veritabanında VIEW DATABASE STATE izniniz varsa tüm satırlar döner. Aksi takdirde, boş bir satır kümesi geri döner.

VIEW DATABASE izniniz yoksa, SELECT izniniz olan tablolardaki tüm sütunlar döner.

SQL Server 2019 (15.x) ve önceki sürümlerde, sistem tabloları yalnızca VIEW DATABASE STATE iznine sahip kullanıcılar için döndürülür.

SQL Server 2022 (16.x) ve sonraki sürümler için, veritabanında VIEW DATABASE PERFORMANCE STATE izni gereklidir.

Örnekler

Mevcut veritabanındaki sorgu belleği tüketicileri

Aşağıdaki sorgu, bellek optimize edilmiş tabloları içeren örnek WideWorldImporters veritabanına karşı çalıştırın:

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;

Sonuç kümesi aşağıdadır.

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

Bu DMV'den tahsis edilen ve kullanılan toplam bellek, sys.dm_db_xtp_table_memory_stats'daki nesne seviyesiyle aynıdır.

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;

Sonuç kümesi aşağıdadır.

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