sys.dm_xtp_system_memory_consumers (T-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Melaporkan konsumen memori tingkat sistem untuk OLTP Dalam Memori. Memori untuk konsumen ini berasal dari kumpulan default (ketika alokasi berada dalam konteks utas pengguna) atau dari kumpulan internal (jika alokasi berada dalam konteks utas sistem).
SELECT *
FROM sys.dm_xtp_system_memory_consumers;
Untuk informasi selengkapnya, lihat OLTP Dalam Memori (Pengoptimalan Dalam Memori).
Nama kolom | Tipe | Deskripsi |
---|---|---|
memory_consumer_id | bigint | ID internal untuk konsumen memori. |
memory_consumer_type | int | Bilangan bulat yang mewakili jenis konsumen memori dengan salah satu nilai berikut: 0 - Tidak boleh ditampilkan. Mengagregasi penggunaan memori dua atau lebih konsumen. 1 - LOOKASIDE: Melacak konsumsi memori untuk tampilan sistem. 2 - VARHEAP: Melacak konsumsi memori untuk timbunan panjang variabel. 4 - Kumpulan halaman IO: Melacak konsumsi memori untuk kumpulan halaman sistem yang digunakan untuk operasi IO. |
memory_consumer_type_desc | nvarchar(16) | Deskripsi jenis konsumen memori: 0 - Tidak boleh ditampilkan 1 - LOOKASIDE 2 - VARHEAP 4 - PGPOOL |
memory_consumer_desc | nvarchar(64) | Deskripsi instans konsumen memori: Varheap: Timbunan sistem. Tujuan umum. Saat ini hanya digunakan untuk mengalokasikan item kerja pengumpulan sampah. -ATAU- Timbunan lookaside. Digunakan oleh lookasides ketika jumlah item yang terkandung dalam daftar lookaside mencapai batas yang telah ditentukan (biasanya sekitar 5.000 item). PGPOOL: Untuk kumpulan sistem IO ada tiga ukuran berbeda: Kumpulan halaman Sistem 4K, kumpulan halaman System 64-K, dan kumpulan halaman System 256-K. |
lookaside_id | bigint | ID penyedia memori thread-local dan lookaside. |
pagepool_id | bigint | ID penyedia memori kumpulan halaman thread-local. |
allocated_bytes | bigint | Jumlah byte yang dicadangkan untuk konsumen ini. |
used_bytes | bigint | Byte yang digunakan oleh konsumen ini. Hanya berlaku untuk konsumen memori varheap. Dimulai dengan SQL Server 2022 (16.x), berlaku untuk konsumen memori varheap dan lookaside. |
allocation_count | int | Jumlah alokasi. Dimulai dengan SQL Server 2022 (16.x), jumlah alokasi dari timbunan sistem untuk konsumen memori lookaside. |
partition_count | int | Penggunaan internal saja. |
sizeclass_count | int | Penggunaan internal saja. |
min_sizeclass | int | Penggunaan internal saja. |
max_sizeclass | int | Penggunaan internal saja. |
memory_consumer_address | varbinary | Alamat internal konsumen. |
Izin
Memerlukan izin TAMPILKAN STATUS SERVER pada server.
Izin untuk SQL Server 2022 dan yang lebih baru
Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.
Keterangan
Di SQL Server 2022 (16.x), DMV ini memiliki kolom tambahan khusus untuk peningkatan memori metadata TempDB yang dioptimalkan memori memori.
Contoh
Contoh ini menghasilkan konsumen memori sistem untuk instans SQL Server:
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;
Output menunjukkan semua konsumen memori pada tingkat sistem. Misalnya, ada konsumen untuk transaksi cari di samping.
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
Untuk melihat total memori yang digunakan oleh alokator sistem:
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;
Berikut adalah hasil yang ditetapkan.
total_allocated_MB total_used_MB
-------------------- --------------------
2 2