Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:Database Azure
SQLInstans
Terkelola Azure SQLDatabase SQL di Microsoft Fabric
Mengembalikan serangkaian peristiwa kehabisan memori (OOM) terbaru.
Untuk informasi selengkapnya tentang kondisi kehabisan memori di Azure SQL Database, lihat Memecahkan masalah kesalahan kehabisan memori di Azure SQL Database.
| Nama kolom | Jenis data | Deskripsi |
|---|---|---|
event_time |
tanggalwaktu | Waktu kejadian OOM. Tidak dapat diubah ke null. |
oom_cause |
kecil | Nilai numerik yang menunjukkan akar penyebab OOM. Penyebab OOM ditentukan oleh algoritma heuristik dan disediakan dengan tingkat keyakinan yang terbatas. Tidak dapat diubah ke null. |
oom_cause_desc |
nvarchar(30) |
oom_causeDeskripsi . Tidak dapat diubah ke null.0. UNKNOWN - Penyebab OOM tidak dapat ditentukan1. HEKATON_POOL_MEMORY_LOW - Memori yang tidak mencukupi di kumpulan sumber daya yang digunakan untuk OLTP Dalam Memori. Untuk informasi selengkapnya, lihat Memantau OLTP Dalam Memori. 2. MEMORY_LOW - Memori tidak cukup tersedia untuk proses mesin database3. OS_MEMORY_PRESSURE - OOM karena tekanan memori eksternal dari sistem operasi4. OS_MEMORY_PRESSURE_SQL - OOM karena tekanan memori eksternal dari instans mesin database lainnya5. NON_SOS_MEMORY_LEAK - OOM karena kebocoran memori non-SOS, misalnya, modul yang dimuat6. SERVERLESS_MEMORY_RECLAMATION - OOM terkait dengan reklamasi memori dalam database tanpa server7. MEMORY_LEAK - OOM karena kebocoran memori SOS8. SLOW_BUFFER_POOL_SHRINK - OOM karena kumpulan buffer tidak melepaskan memori cukup cepat di bawah tekanan memori9. INTERNAL_POOL - Memori yang tidak mencukup di kumpulan sumber daya internal10. SYSTEM_POOL - Memori tidak cukup dalam kumpulan sumber daya sistem11. QUERY_MEMORY_GRANTS - OOM karena hibah memori besar yang dipegang oleh kueri12. REPLICAS_AND_AVAILABILITY - OOM karena beban kerja di kumpulan sumber daya SloSecSharedPool |
available_physical_memory_mb |
Int | Memori fisik yang tersedia, dalam megabyte. Tidak dapat diubah ke null. |
initial_job_object_memory_limit_mb |
Int | Batas memori objek pekerjaan pada startup mesin database, dalam megabyte. Untuk informasi selengkapnya tentang Objek Pekerjaan, lihat Tata kelola sumber daya. Dapat bernilai null. |
current_job_object_memory_limit_mb |
Int | Batas memori objek pekerjaan saat ini, dalam megabyte. Dapat bernilai null. |
process_memory_usage_mb |
Int | Total penggunaan memori proses dalam megabyte oleh instans. Tidak dapat diubah ke null. |
non_sos_memory_usage_mb |
Int | Penggunaan non-SOS dalam megabyte, termasuk utas yang dibuat SOS, utas yang dibuat oleh komponen non-SOS, DLL yang dimuat, dll. Tidak dapat diubah ke null. |
committed_memory_target_mb |
Int | Memori target SOS dalam megabyte. Tidak dapat diubah ke null. |
committed_memory_mb |
Int | SOS menerapkan memori dalam megabyte. Tidak dapat diubah ke null. |
allocation_potential_memory_mb |
Int | Memori tersedia untuk instans mesin database untuk alokasi baru, dalam megabyte. Tidak dapat diubah ke null. |
oom_factor |
kecil | Nilai yang menyediakan informasi tambahan yang terkait dengan peristiwa OOM, hanya untuk penggunaan internal. Tidak dapat diubah ke null. |
oom_factor_desc |
nvarchar(30) |
oom_factorDeskripsi . Hanya untuk penggunaan internal. Tidak dapat diubah ke null.0 - UNDEFINED1 - ALLOCATION_POTENTIAL2 - BLOCK_ALLOCATOR3 - ESCAPE_TIMEOUT4 - FAIL_FAST5 - MEMORY_POOL6 - EMERGENCY_ALLOCATOR7 - VIRTUAL_ALLOC8 - SIMULATED9 - BUF_ALLOCATOR10 - QUERY_MEM_QUEUE11 - FRAGMENT12 - INIT_DESCRIPTOR13 - MEMORY_POOL_PRESSURE14 - DESCRIPTOR_ALLOCATOR15 - DESCRIPTOR_ALLOCATOR_ESCAPE |
oom_resource_pools |
nvarchar(4000) | Kumpulan sumber daya yang kehabisan memori, termasuk statistik penggunaan memori untuk setiap kumpulan. Informasi ini disediakan sebagai nilai JSON. Dapat bernilai null. |
top_memory_clerks |
nvarchar(4000) | Petugas memori teratas berdasarkan konsumsi memori, termasuk statistik penggunaan memori untuk setiap petugas. Informasi ini disediakan sebagai nilai JSON. Dapat bernilai null. |
top_resource_pools |
nvarchar(4000) | Kumpulan sumber daya teratas berdasarkan konsumsi memori, termasuk statistik penggunaan memori untuk setiap kumpulan sumber daya. Informasi ini disediakan sebagai nilai JSON. Dapat bernilai null. |
possible_leaked_memory_clerks |
nvarchar(4000) | Pegawai memori yang telah membocorkan memori. Berdasarkan heuristik dan diberikan tingkat keyakinan yang terbatas. Informasi ini disediakan sebagai nilai JSON. Dapat bernilai null. |
possible_non_sos_leaked_memory_mb |
Int | Memori non-SOS bocor dalam megabyte, jika ada. Berdasarkan heuristik dan diberikan tingkat keyakinan yang terbatas. Dapat bernilai null. |
Izin
Pada Azure SQL Managed Instance, memerlukan VIEW SERVER PERFORMANCE STATE izin.
Pada tujuan layanan SQL Database Basic, S0 Pada semua tujuan layanan SQL Database lainnya, izin VIEW DATABASE PERFORMANCE STATE pada database, atau keanggotaan dalam ##MS_ServerPerformanceStateReader## peran server diperlukan.
Keterangan
Setiap baris dalam tampilan ini mewakili peristiwa kehabisan memori (OOM) yang telah terjadi di mesin database. Tidak semua peristiwa OOM mungkin ditangkap. Peristiwa OOM yang lebih lama dapat menghilang dari hasil yang ditetapkan saat peristiwa OOM yang lebih baru terjadi. Kumpulan hasil tidak dipertahankan di seluruh mulai ulang mesin database.
Saat ini, DMV ini terlihat tetapi tidak didukung di SQL Server 2022 (16.x) dan SQL Server 2025 (17.x).
peristiwa summarized_oom_snapshot diperluas
Peristiwa summarized_oom_snapshot yang diperluas adalah bagian system_health dari sesi peristiwa untuk menyederhanakan deteksi peristiwa kehabisan memori. Setiap summarized_oom_snapshot peristiwa yang diperluas sesuai dengan baris di sys.dm_os_out_of_memory_events. Untuk informasi selengkapnya, lihat Blog: Cara baru untuk memecahkan masalah kesalahan di luar memori di mesin database.
Contoh
Sebuah. Mendapatkan semua peristiwa OOM yang tersedia
Contoh berikut mengembalikan semua data peristiwa yang diurutkan berdasarkan waktu terbaru untuk mesin database yang menghosting database yang saat ini tersambung.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
B. Dapatkan pegawai memori teratas untuk setiap peristiwa OOM
Contoh berikut mengembalikan subset data peristiwa dan memperluas data JSON di top_memory_clerks kolom. Setiap baris dalam tataan hasil mewakili petugas memori teratas untuk peristiwa OOM tertentu.
SELECT event_time,
oom_cause_desc,
oom_factor_desc,
oom_resource_pools,
top_resource_pools,
clerk_type_name,
clerk_page_allocated_mb,
clerk_vm_committed_mb
FROM sys.dm_os_out_of_memory_events
CROSS APPLY OPENJSON(top_memory_clerks)
WITH (
clerk_type_name sysname '$.clerk_type_name',
clerk_page_allocated_mb bigint '$.page_allocated_mb',
clerk_vm_committed_mb bigint '$.vm_committed_mb'
)
ORDER BY event_time DESC, clerk_page_allocated_mb DESC;
C. Mendapatkan kumpulan sumber daya teratas untuk setiap peristiwa OOM
Contoh berikut mengembalikan subset data peristiwa dan memperluas data JSON di top_resource_pools kolom. Setiap baris dalam tataan hasil mewakili kumpulan sumber daya teratas untuk peristiwa OOM tertentu.
SELECT event_time,
oom_cause_desc,
oom_factor_desc,
oom_resource_pools,
top_memory_clerks,
pool_name,
pool_allocations_mb,
pool_target_mb,
pool_is_oom
FROM sys.dm_os_out_of_memory_events
CROSS APPLY OPENJSON(top_resource_pools)
WITH (
pool_name sysname '$.pool_name',
pool_allocations_mb bigint '$.allocations_mb',
pool_target_mb bigint '$.pool_target_mb',
pool_is_oom bit '$.is_oom'
)
ORDER BY event_time DESC, pool_allocations_mb DESC;
Konten terkait
- sys.sumberdaya_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL Database)
- Mengoptimalkan performa dengan menggunakan teknologi dalam memori di Azure SQL Database
- Mengoptimalkan performa dengan menggunakan teknologi dalam memori di Azure SQL Managed Instance
- Memantau penyimpanan OLTP Dalam Memori di Azure SQL Database
- Memantau penyimpanan OLTP Dalam Memori di Azure SQL Managed Instance
- Memecahkan masalah kehabisan memori dengan Azure SQL Database