sys.dm_os_memory_objects (T-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Mengembalikan objek memori yang saat ini dialokasikan oleh SQL Server. Anda dapat menggunakan sys.dm_os_memory_objects untuk menganalisis penggunaan memori dan mengidentifikasi kemungkinan kebocoran memori.
Catatan
Untuk memanggil ini dari Azure Synapse Analytics atau Analytics Platform System (PDW), gunakan nama sys.dm_pdw_nodes_os_memory_objects. Sintaks ini tidak didukung oleh kumpulan SQL tanpa server di Azure Synapse Analytics.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
memory_object_address | varbinary(8) | Alamat objek memori. Tidak dapat diubah ke null. |
parent_address | varbinary(8) | Alamat objek memori induk. Dapat diubah ke null. |
pages_allocated_count | int | Berlaku untuk: SQL Server 2008 (10.0.x) melalui SQL Server 2008 R2 (10.50.x). Jumlah halaman yang dialokasikan oleh objek ini. Tidak dapat diubah ke null. |
pages_in_bytes | bigint | Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. Jumlah memori dalam byte yang dialokasikan oleh instans objek memori ini. Tidak dapat diubah ke null. |
creation_options | int | Penggunaan internal saja. Dapat diubah ke null. |
bytes_used | bigint | Penggunaan internal saja. Dapat diubah ke null. |
jenis | nvarchar(60) | Jenis objek memori. Ini menunjukkan beberapa komponen tempat objek memori ini berada, atau fungsi objek memori. Dapat diubah ke null. |
nama | varchar(128) | Penggunaan internal saja. Dapat diubah ke null. |
memory_node_id | smallint | ID simpul memori yang sedang digunakan oleh objek memori ini. Tidak dapat diubah ke null. |
creation_time | datetime | Penggunaan internal saja. Dapat diubah ke null. |
max_pages_allocated_count | int | Berlaku untuk: SQL Server 2008 (10.0.x) melalui SQL Server 2008 R2 (10.50.x). Jumlah maksimum halaman yang dialokasikan oleh objek memori ini. Tidak dapat diubah ke null. |
page_size_in_bytes | int | Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru. Ukuran halaman dalam byte yang dialokasikan oleh objek ini. Tidak dapat diubah ke null. |
max_pages_in_bytes | bigint | Jumlah maksimum memori yang pernah digunakan oleh objek memori ini. Tidak dapat diubah ke null. |
page_allocator_address | varbinary(8) | Alamat memori alokator halaman. Tidak dapat diubah ke null. Untuk informasi lebih lanjut, lihat sys.dm_os_memory_clerks (Transact-SQL). |
creation_stack_address | varbinary(8) | Penggunaan internal saja. Dapat diubah ke null. |
sequence_num | int | Penggunaan internal saja. Dapat diubah ke null. |
partition_type | int | Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru. Jenis partisi: 0 - Objek memori yang tidak dapat dipartisi 1 - Objek memori yang dapat dipartisi, saat ini tidak dipartisi 2 - Objek memori yang dapat dipartisi, dipartisi oleh simpul NUMA. Dalam lingkungan dengan satu simpul NUMA, ini setara dengan 1. 3 - Objek memori yang dapat dipartisi, dipartisi oleh CPU. |
contention_factor | real | Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru. Nilai yang menentukan ketidakcocokan pada objek memori ini, dengan 0 tidak berarti ketidakcocokan. Nilai diperbarui setiap kali sejumlah alokasi memori tertentu dibuat mencerminkan ketidakcocokan selama periode tersebut. Hanya berlaku untuk objek memori aman utas. |
waiting_tasks_count | bigint | Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru. Jumlah tunggu pada objek memori ini. Penghitung ini dinaikkan setiap kali memori dialokasikan dari objek memori ini. Kenaikan adalah jumlah tugas yang saat ini menunggu akses ke objek memori ini. Hanya berlaku untuk objek memori aman utas. Ini adalah nilai upaya terbaik tanpa jaminan kebenaran. |
exclusive_access_count | bigint | Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru. Menentukan seberapa sering objek memori ini diakses secara eksklusif. Hanya berlaku untuk objek memori aman utas. Ini adalah nilai upaya terbaik tanpa jaminan kebenaran. |
pdw_node_id | int | Berlaku untuk: Azure Synapse Analytics, Analytics Platform System (PDW) Pengidentifikasi untuk simpul tempat distribusi ini aktif. |
partition_type, contention_factor, waiting_tasks_count, dan exclusive_access_count belum diimplementasikan dalam SQL Database.
Izin
Pada SQL Server dan SQL Managed Instance, memerlukan VIEW SERVER STATE
izin.
Pada tujuan layanan SQL Database Basic, S0, dan S1, dan untuk database di kumpulan elastis, akun admin server, akun admin Microsoft Entra, atau keanggotaan dalam ##MS_ServerStateReader##
peran server diperlukan. Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE STATE
pada database, atau keanggotaan dalam ##MS_ServerStateReader##
peran server diperlukan.
Izin untuk SQL Server 2022 dan yang lebih baru
Memerlukan izin TAMPILKAN STATUS PERFORMA SERVER pada server.
Keterangan
Objek memori adalah timbunan. Mereka memberikan alokasi yang memiliki granularitas yang lebih halus daripada yang disediakan oleh petugas memori. Komponen SQL Server menggunakan objek memori alih-alih petugas memori. Objek memori menggunakan antarmuka alokator halaman dari petugas memori untuk mengalokasikan halaman. Objek memori tidak menggunakan antarmuka memori virtual atau bersama. Bergantung pada pola alokasi, komponen dapat membuat berbagai jenis objek memori untuk mengalokasikan wilayah dengan ukuran arbitrer.
Ukuran halaman umum untuk objek memori adalah 8 KB. Namun, objek memori bertambah bertahap dapat memiliki ukuran halaman yang berkisar dari 512 byte hingga 8 KB.
Catatan
Ukuran halaman bukan alokasi maksimum. Sebaliknya, ukuran halaman adalah granularitas alokasi yang didukung oleh alokator halaman dan yang diimplementasikan oleh petugas memori. Anda dapat meminta alokasi yang lebih besar dari 8 KB dari objek memori.
Contoh
Contoh berikut mengembalikan jumlah memori yang dialokasikan oleh setiap jenis objek memori.
SELECT SUM (pages_in_bytes) as 'Bytes Used', type
FROM sys.dm_os_memory_objects
GROUP BY type
ORDER BY 'Bytes Used' DESC;
GO
Lihat juga
Tampilan Manajemen Dinamis Terkait Sistem Operasi SQL Server (Transact-SQL)
sys.dm_os_memory_clerks (T-SQL)