sys.dm_db_xtp_memory_consumers (T-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Melaporkan konsumen memori tingkat database di mesin database OLTP Dalam Memori. Tampilan mengembalikan baris untuk setiap konsumen memori yang digunakan mesin database. Gunakan DMV ini untuk melihat bagaimana memori didistribusikan di berbagai objek internal.
Untuk informasi selengkapnya, lihat Gambaran umum dan skenario penggunaan OLTP Dalam Memori.
Catatan
Output tampilan manajemen dinamis sistem ini mungkin berbeda, tergantung pada versi SQL Server yang diinstal.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
memory_consumer_id |
bigint | ID (internal) konsumen memori. |
memory_consumer_type |
int | Jenis konsumen memori: 0 = Agregasi. (Mengagregasi penggunaan memori dua atau lebih konsumen. Ini tidak boleh ditampilkan.) 2 = VARHEAP (Melacak konsumsi memori untuk timbunan panjang variabel.)3 = HASH (Melacak konsumsi memori untuk indeks.)4 = PGPOOL (kumpulan halaman DB: Melacak konsumsi memori untuk kumpulan halaman database yang digunakan untuk operasi runtime. Misalnya, variabel tabel dan beberapa pemindaian yang dapat diserialisasikan. Hanya ada satu konsumen memori jenis ini per database.) |
memory_consumer_type_desc |
nvarchar(64) | Jenis konsumen memori: VARHEAP , , HASH atau PGPOOL .0 - (Tidak boleh ditampilkan) 2- VARHEAP 3- HASH 4- PGPOOL |
memory_consumer_desc |
nvarchar(64) | Deskripsi instans konsumen memori. Untuk informasi selengkapnya, tinjau tabel berikut ini. |
object_id |
bigint | ID objek tempat memori yang dialokasikan diatribusikan. Nilai negatif untuk objek sistem. |
xtp_object_id |
bigint | ID objek OLTP Dalam Memori yang sesuai dengan tabel yang dioptimalkan memori. |
index_id |
int | ID indeks konsumen (jika ada). NULL untuk tabel dasar. |
allocated_bytes |
bigint | Jumlah byte yang dicadangkan untuk konsumen ini. |
used_bytes |
bigint | Byte yang digunakan oleh konsumen ini. Hanya berlaku untuk VARHEAP . |
allocation_count |
int | Jumlah alokasi. |
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. Hanya untuk penggunaan internal. |
Tabel berikut ini menjelaskan konsumen memori yang ditentukan dalam memory_consumer_type
kolom:
Konsumen memori | Deskripsi | Jenis |
---|---|---|
256K page pool |
Kumpulan memori yang digunakan selama aktivitas titik pemeriksaan. | PGPOOL |
4K page pool |
Kumpulan memori yang digunakan selama aktivitas titik pemeriksaan. | PGPOOL |
Checkpoint table |
Penggunaan internal saja. | VARHEAP |
Ckpt file table |
Penggunaan internal saja. | VARHEAP |
Ckpt file watermark table |
Penggunaan internal saja. | VARHEAP |
Database internal heap |
Digunakan untuk mengalokasikan data database yang disertakan dalam cadangan memori, dan tidak menyertakan data pengguna. | VARHEAP |
Database user heap |
Digunakan untuk mengalokasikan data pengguna untuk database (baris). | VARHEAP |
Encryption table |
Penggunaan internal saja. | VARHEAP |
Hash index |
Melacak konsumsi memori untuk indeks. object_id menunjukkan tabel dan index_id indeks hash itu sendiri. |
HASH |
Large Rows File table |
Penggunaan internal saja. | VARHEAP |
LOB Page Allocator |
Memori timbunan yang digunakan oleh baris besar. | VARHEAP |
Logical range index partition table |
Penggunaan internal saja. | VARHEAP |
Logical root fragment table |
Penggunaan internal saja. | VARHEAP |
Logical Root table |
Penggunaan internal saja. | VARHEAP |
Logical Sequence Object table |
Penggunaan internal saja. | VARHEAP |
Physical range index partition table |
Penggunaan internal saja. | VARHEAP |
Physical root fragment table |
Penggunaan internal saja. | VARHEAP |
Physical Root table |
Penggunaan internal saja. | VARHEAP |
Physical Sequence object table |
Penggunaan internal saja. | VARHEAP |
Range index heap |
Timbunan privat yang digunakan oleh indeks rentang untuk mengalokasikan halaman pohon Bw. | VARHEAP |
Storage internal heap |
Penggunaan internal saja. | VARHEAP |
Storage user heap |
Penggunaan internal saja. | VARHEAP |
Table heap |
Memori timbunan yang digunakan oleh tabel Dalam Memori. | VARHEAP |
Tail cache 256K page pool |
Penggunaan internal saja. | PGPOOL |
Tx Segment table |
Penggunaan internal saja. | VARHEAP |
Ketika tabel yang dioptimalkan memori memiliki indeks penyimpan kolom, sistem menggunakan beberapa tabel internal, yang menggunakan beberapa memori, untuk melacak data untuk indeks penyimpan kolom. Untuk detail tentang tabel internal dan kueri sampel ini yang menunjukkan konsumsi memorinya, lihat sys.memory_optimized_tables_internal_attributes (Transact-SQL).
Semua baris dikembalikan jika Anda memiliki izin TAMPILKAN STATUS DATABASE pada database saat ini. Jika tidak, kumpulan baris kosong dikembalikan.
Jika Anda tidak memiliki izin LIHAT DATABASE, semua kolom dikembalikan untuk baris dalam tabel tempat Anda memiliki izin SELECT.
Pada SQL Server 2019 (15.x) dan versi sebelumnya, tabel sistem dikembalikan hanya untuk pengguna dengan izin TAMPILKAN STATUS DATABASE.
Untuk SQL Server 2022 (16.x) dan versi yang lebih baru, Anda memerlukan izin TAMPILKAN STATUS PERFORMA DATABASE pada database.
Jalankan kueri berikut terhadap database sampel WideWorldImporters
, yang berisi tabel yang dioptimalkan memori:
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;
Berikut set hasilnya.
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
Total memori yang dialokasikan dan digunakan dari DMV ini sama dengan tingkat objek dalam sys.dm_db_xtp_table_memory_stats.
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;
Berikut set hasilnya.
total_allocated_MB total_used_MB
------------------ --------------------
92 51
- Pengantar Tabel yang Dioptimalkan Memori
- Tampilan Manajemen Dinamis Tabel yang Dioptimalkan Memori (Transact-SQL)
- Gambaran umum dan skenario penggunaan OLTP Dalam Memori
- Mengoptimalkan performa dengan menggunakan teknologi dalam memori di Azure SQL Database
- Mengoptimalkan performa dengan menggunakan teknologi dalam memori di Azure SQL Managed Instance