sys.dm_os_out_of_memory_events
Berlaku untuk: Azure SQL Database Azure SQL Managed Instance
Mengembalikan peristiwa log of out of memory (OOM).
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 |
datetime2, bukan null | Waktu kejadian OOM |
oom_cause |
tinyint, bukan null | Nilai numerik yang menunjukkan akar penyebab OOM. Penyebab OOM ditentukan oleh algoritma heuristik dan disediakan dengan tingkat keyakinan yang terbatas. |
oom_cause_desc |
nvarchar(60), bukan null | oom_cause Deskripsi , salah satu dari:0. TIDAK DIKETAHUI - Penyebab OOM tidak dapat ditentukan 1. 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 database 3. OS_MEMORY_PRESSURE - OOM karena tekanan memori eksternal dari sistem operasi 4. OS_MEMORY_PRESSURE_SQL - OOM karena tekanan memori eksternal dari instans mesin database lainnya 5. NON_SOS_MEMORY_LEAK - OOM karena kebocoran memori non-SOS, misalnya, modul yang dimuat 6. SERVERLESS_MEMORY_RECLAMATION - OOM yang terkait dengan reklamasi memori dalam database tanpa server 7. MEMORY_LEAK - OOM karena kebocoran memori SOS 8. SLOW_BUFFER_POOL_SHRINK - OOM karena kumpulan buffer tidak melepaskan memori dengan cukup cepat di bawah tekanan memori 9. INTERNAL_POOL - Memori tidak mencukupi di kumpulan sumber daya internal 10. SYSTEM_POOL - Memori yang tidak mencukupi dalam kumpulan sumber daya sistem 11. QUERY_MEMORY_GRANTS - OOM karena pemberian memori besar yang dipegang oleh kueri 12. REPLICAS_AND_AVAILABILITY - OOM karena beban kerja di kumpulan sumber daya SloSecSharedPool |
available_physical_memory_mb |
int, bukan null | Memori fisik yang tersedia, dalam megabyte |
initial_job_object_memory_limit_mb |
int, null | Batas memori objek pekerjaan pada startup mesin database, dalam megabyte. Untuk informasi selengkapnya tentang Objek Pekerjaan, lihat Tata kelola sumber daya. |
current_job_object_memory_limit_mb |
int, null | Batas memori objek pekerjaan saat ini, dalam megabyte |
process_memory_usage_mb |
int, bukan null | Total penggunaan memori proses dalam megabyte oleh instans |
non_sos_memory_usage_mb |
int, bukan null | Penggunaan non-SOS dalam megabyte, termasuk utas yang dibuat SOS, utas yang dibuat oleh komponen non-SOS, DLL yang dimuat, dll. |
committed_memory_target_mb |
int, bukan null | Memori target SOS dalam megabyte |
committed_memory_mb |
int, bukan null | Memori berkomitmen SOS dalam megabyte |
allocation_potential_memory_mb |
int, bukan null | Memori tersedia untuk instans mesin database untuk alokasi baru, dalam megabyte |
oom_factor |
tinyint, bukan null | Nilai yang menyediakan informasi tambahan yang terkait dengan peristiwa OOM, hanya untuk penggunaan internal |
oom_factor_desc |
nvarchar(60), bukan null | oom_factor Deskripsi . Hanya untuk penggunaan internal. Salah satu:0 - TIDAK DITENTUKAN 1 - ALLOCATION_POTENTIAL 2 - BLOCK_ALLOCATOR 3 - ESCAPE_TIMEOUT 4 - FAIL_FAST 5 - MEMORY_POOL 6 - EMERGENCY_ALLOCATOR 7 - VIRTUAL_ALLOC 8 - DISIMULASIKAN 9 - BUF_ALLOCATOR 10 - QUERY_MEM_QUEUE 11 - FRAGMEN 12 - INIT_DESCRIPTOR 13 - MEMORY_POOL_PRESSURE 14 - DESCRIPTOR_ALLOCATOR 15 - DESCRIPTOR_ALLOCATOR_ESCAPE |
oom_resource_pools |
nvarchar(maks), null | Kumpulan sumber daya yang kehabisan memori, termasuk statistik penggunaan memori untuk setiap kumpulan. Informasi ini disediakan sebagai nilai JSON. |
top_memory_clerks |
nvarchar(maks), bukan null | Petugas memori teratas berdasarkan konsumsi memori, termasuk statistik penggunaan memori untuk setiap petugas. Informasi ini disediakan sebagai nilai JSON. |
top_resource_pools |
nvarchar(maks), bukan null | Kumpulan sumber daya teratas berdasarkan konsumsi memori, termasuk statistik penggunaan memori untuk setiap kumpulan sumber daya. Informasi ini disediakan sebagai nilai JSON. |
possible_leaked_memory_clerks |
nvarchar(maks), null | Pegawai memori yang telah membocorkan memori. Berdasarkan heuristik dan diberikan tingkat keyakinan yang terbatas. Informasi ini disediakan sebagai nilai JSON. |
possible_non_sos_leaked_memory_mb |
int, null | Memori non-SOS bocor dalam megabyte, jika ada. Berdasarkan heuristik dan diberikan tingkat keyakinan yang terbatas. |
Izin
Pada Azure 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.
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).
peristiwa summarized_oom_snapshot diperluas
Peristiwa summarized_oom_snapshot
yang diperluas adalah bagian dari sesi peristiwa yang ada system_health
untuk menyederhanakan deteksi. Kejadian ini muncul ketika peristiwa kehabisan memori (OOM) terdeteksi. DMV ini selaras dengan aktivitas yang direkam dalam acara yang summarized_oom_snapshot
diperluas, keduanya diperkenalkan ke Azure SQL Database pada Januari 2022. Untuk informasi selengkapnya, lihat Blog: Cara baru untuk memecahkan masalah kesalahan di luar memori di mesin database.
Contoh
Contoh berikut mengembalikan data peristiwa yang diurutkan berdasarkan waktu terbaru untuk database yang saat ini tersambung.
SELECT * FROM sys.dm_os_out_of_memory_events ORDER BY event_time 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 Mnstance
- Memecahkan masalah kehabisan memori dengan Azure SQL Database