Aracılığıyla paylaş


sys.dm_xtp_system_memory_consumers (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiMicrosoft Fabric'te SQL veritabanı

In-Memory OLTP için sistem düzeyinde bellek tüketicilerini raporlar. Bu tüketicilerin belleği varsayılan havuzdan (ayırma bir kullanıcı iş parçacığı bağlamında olduğunda) veya iç havuzdan (ayırma bir sistem iş parçacığı bağlamındaysa) gelir.

SELECT *
FROM sys.dm_xtp_system_memory_consumers;

Daha fazla bilgi için bkz. In-Memory OLTP (In-Memory İyileştirme).

Sütun adı Türü Description
memory_consumer_id bigint Bellek tüketicisi için iç kimlik.
memory_consumer_type int Aşağıdaki değerlerden biriyle bellek tüketicisinin türünü temsil eden tamsayı:

0 - Görüntülenmemelidir. İki veya daha fazla tüketicinin bellek kullanımını toplar.

1 - LOOKASIDE: Sistem görünümü için bellek tüketimini izler.

2 - VARHEAP: Değişken uzunlukta bir yığın için bellek tüketimini izler.

4 - GÇ sayfa havuzu: GÇ işlemleri için kullanılan bir sistem sayfa havuzu için bellek tüketimini izler.
memory_consumer_type_desc nvarchar(16) Bellek tüketicisi türünün açıklaması:

0 - Görüntülenmemelidir

1 - BAKIŞ

2 - VARHEAP

4 - PGPOOL
memory_consumer_desc nvarchar(64) Bellek tüketici örneğinin açıklaması:

VARHEAP:
Sistem yığını. Genel amaçlı. Şu anda yalnızca çöp toplama iş öğelerini ayırmak için kullanılır.
-VEYA-
Lookaside yığını. Lookaside listesinde yer alan öğelerin sayısı önceden belirlenmiş bir büyük harfe (genellikle yaklaşık 5.000 öğe) ulaştığında, lookasides tarafından kullanılır.

PGPOOL: GÇ sistem havuzları için üç farklı boyut vardır: Sistem 4K sayfa havuzu, Sistem 64-K sayfa havuzu ve System 256-K sayfa havuzu.
lookaside_id bigint İş parçacığı yerel, lookaside bellek sağlayıcısının kimliği.
pagepool_id bigint İş parçacığı yerel, sayfa havuzu bellek sağlayıcısının kimliği.
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ı. Yalnızca varheap bellek tüketicileri için geçerlidir.

SQL Server 2022 (16.x) ile başlayarak, varheap ve lookaside bellek tüketicileri için geçerlidir.
allocation_count int Ayırma sayısı.

SQL Server 2022'den (16.x) başlayarak, sistem yığınından lookaside bellek tüketicileri için ayırma sayısı.
partition_count int Bu bellek tüketicisi için süper engel bölüm sayısı. Daha fazla bilgi için bkz . Bellek parçalanması.
sizeclass_count int Bu bellek tüketicisi için süper blok boyut sınıflarının sayısı. Bellek parçalanması.
min_sizeclass int Yalnızca iç kullanım.
max_sizeclass int Yalnızca iç kullanım.
memory_consumer_address varbinary Tüketicinin iç adresi.

Permissions

Sunucuda VIEW SERVER STATE izinleri gerektirir.

SQL Server 2022 ve üzeri için izinler

Sunucuda SUNUCU PERFORMANS DURUMUNU GÖRÜNTÜLE izni gerektirir.

Açıklamalar

SQL Server 2022'de (16.x), bu DMV'nin Bellek için iyileştirilmiş TempDB meta veri belleği iyileştirmelerine özgü ek sütunları vardır.

Örnekler

Bu örnek, SQL Server örneği için sistem bellek tüketicilerinin çıkışını oluşturur:

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;

Çıkış, tüm bellek tüketicilerini sistem düzeyinde gösterir. Örneğin, işlem görünümü için tüketiciler vardır.

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

Sistem ayırıcıları tarafından tüketilen toplam belleği görmek için:

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;

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

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