Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric'te SQL veritabanı
Bellek yetersiz (OOM) olayları kümesini döndürür.
Azure SQL Veritabanı'ndaki yetersiz bellek koşulları hakkında daha fazla bilgi için bkz. Azure SQL Veritabanı'nda yetersiz bellek hatalarını giderme.
| Sütun adı | Veri türü | Açıklama |
|---|---|---|
event_time |
tarih ve saat | OOM olay zamanı. Null olamaz. |
oom_cause |
tinyint | OOM kök nedenini gösteren sayısal değer. OOM nedeni buluşsal bir algoritma tarafından belirlenir ve sonlu bir güvenilirlik derecesiyle sağlanır. Null olamaz. |
oom_cause_desc |
nvarchar(30) | öğesinin açıklaması oom_cause. Null olamaz.0. UNKNOWN - OOM nedeni belirlenemedi1. HEKATON_POOL_MEMORY_LOW - In-Memory OLTP için kullanılan kaynak havuzunda yetersiz bellek. Daha fazla bilgi için bkz. OLTP In-Memory izleme. 2. MEMORY_LOW - Veritabanı altyapısı işlemi için yeterli bellek yok3. OS_MEMORY_PRESSURE - İşletim sisteminden kaynaklanan dış bellek baskısından dolayı OOM4. OS_MEMORY_PRESSURE_SQL - Diğer veritabanı altyapısı örneklerinden kaynaklanan dış bellek baskısından dolayı OOM5. NON_SOS_MEMORY_LEAK - SOS olmayan bellekteki bir sızıntı nedeniyle OOM, örneğin yüklenen modüller6. SERVERLESS_MEMORY_RECLAMATION - Sunucusuz veritabanında bellek geri kazanma ile ilgili OOM7. MEMORY_LEAK - SOS belleğindeki bir sızıntı nedeniyle OOM8. SLOW_BUFFER_POOL_SHRINK - Arabellek havuzunun bellek baskısı altında belleği yeterince hızlı bırakmaması nedeniyle OOM9. INTERNAL_POOL - İç kaynak havuzunda yetersiz bellek10. SYSTEM_POOL - Sistem kaynak havuzunda yetersiz bellek11. QUERY_MEMORY_GRANTS - Sorgular tarafından tutulan büyük bellek izinleri nedeniyle OOM12. REPLICAS_AND_AVAILABILITY - SloSecSharedPool kaynak havuzundaki iş yükleri nedeniyle OOM |
available_physical_memory_mb |
Int | Megabayt cinsinden kullanılabilir fiziksel bellek. Null olamaz. |
initial_job_object_memory_limit_mb |
Int | Veritabanı altyapısı başlatma sırasında megabayt cinsinden iş nesnesi bellek sınırı. İş Nesneleri hakkında daha fazla bilgi için bkz . Kaynak idaresi. Nullable. |
current_job_object_memory_limit_mb |
Int | megabayt cinsinden iş nesnesi geçerli bellek sınırı. Nullable. |
process_memory_usage_mb |
Int | Örneğe göre megabayt cinsinden toplam işlem belleği kullanımı. Null olamaz. |
non_sos_memory_usage_mb |
Int | SOS tarafından oluşturulan iş parçacıkları, SOS dışı bileşenler tarafından oluşturulan iş parçacıkları, yüklenen DLL'ler vb. dahil olmak üzere megabayt cinsinden SOS dışı kullanım. Null değer atanamaz. |
committed_memory_target_mb |
Int | SOS megabayt cinsinden bellek hedeflemektedir. Null olamaz. |
committed_memory_mb |
Int | SOS megabayt cinsinden kaydedilmiş bellek. Null olamaz. |
allocation_potential_memory_mb |
Int | Yeni ayırmalar için veritabanı altyapısı örneğinde megabayt cinsinden kullanılabilir bellek. Null olamaz. |
oom_factor |
tinyint | Yalnızca iç kullanım için OOM olayıyla ilgili ek bilgiler sağlayan bir değer. Null olamaz. |
oom_factor_desc |
nvarchar(30) | öğesinin açıklaması oom_factor. Yalnızca dahili kullanım için. Null olamaz.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) | Her havuz için bellek kullanım istatistikleri de dahil olmak üzere bellek yetersiz kaynak havuzları. Bu bilgiler bir JSON değeri olarak sağlanır. Nullable. |
top_memory_clerks |
nvarchar(4000) | Her bir katibin bellek kullanım istatistikleri de dahil olmak üzere bellek tüketimine göre en iyi bellek katipleri. Bu bilgiler bir JSON değeri olarak sağlanır. Nullable. |
top_resource_pools |
nvarchar(4000) | Her kaynak havuzu için bellek kullanım istatistikleri de dahil olmak üzere bellek tüketimine göre en iyi kaynak havuzları. Bu bilgiler bir JSON değeri olarak sağlanır. Nullable. |
possible_leaked_memory_clerks |
nvarchar(4000) | Belleği sızdıran bellek memurları. Buluşsal yöntemlere dayalıdır ve sonlu bir güven derecesi ile sağlanır. Bu bilgiler bir JSON değeri olarak sağlanır. Nullable. |
possible_non_sos_leaked_memory_mb |
Int | Varsa megabayt cinsinden SOS olmayan bellek sızdırıldı. Buluşsal yöntemlere dayalıdır ve sonlu bir güven derecesi ile sağlanır. Nullable. |
İzinler
Azure SQL Yönetilen Örneğinde izin gerekir VIEW SERVER PERFORMANCE STATE .
SQL Veritabanı Temel,S0 ve S1 hizmet hedeflerinive elastik havuzlardaki veritabanları için, sunucu yöneticisi hesabı, Microsoft Entra yönetici hesabı veya ##MS_ServerPerformanceStateReader##sunucu rolü üyeliği gereklidir. Diğer tüm SQL Veritabanı hizmet hedeflerinde, veritabanında VIEW DATABASE PERFORMANCE STATE izni veya ##MS_ServerPerformanceStateReader## sunucu rolü üyeliği gereklidir.
Açıklamalar
Bu görünümdeki her satır, veritabanı altyapısında oluşan bellek yetersiz (OOM) olayını temsil eder. Tüm OOM olayları yakalanamayabilir. Daha yeni OOM olayları oluştukça eski OOM olayları sonuç kümesinden kaybolabilir. Sonuç kümesi, veritabanı altyapısının yeniden başlatmalarında kalıcı olmaz.
Şu anda bu DMV görünür ancak SQL Server 2022 (16.x) ve SQL Server 2025 (17.x)'te desteklenmemektedir.
genişletilmiş olayı summarized_oom_snapshot
Genişletilmiş summarized_oom_snapshot olay, bellek dışı olayları algılamayı system_health basitleştirmek için olay oturumunun bir parçasıdır. Genişletilmiş her summarized_oom_snapshot olay içindeki sys.dm_os_out_of_memory_eventsbir satıra karşılık gelir. Daha fazla bilgi için bkz . Blog: Veritabanı altyapısındaki yetersiz bellek hatalarını gidermenin yeni bir yolu.
Örnekler
A. Tüm kullanılabilir OOM olaylarını alma
Aşağıdaki örnek, şu anda bağlı olan veritabanını barındıran veritabanı altyapısı için en son zamana göre sıralanmış tüm olay verilerini döndürür.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
B. Her OOM olayı için en iyi bellek katiplerini alma
Aşağıdaki örnek olay verilerinin bir alt kümesini döndürür ve sütundaki top_memory_clerks JSON verilerini genişletir. Sonuç kümesindeki her satır, belirli bir OOM olayı için en iyi bellek katibini temsil eder.
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. Her OOM olayı için en iyi kaynak havuzlarını alma
Aşağıdaki örnek olay verilerinin bir alt kümesini döndürür ve sütundaki top_resource_pools JSON verilerini genişletir. Sonuç kümesindeki her satır, belirli bir OOM olayı için en üstteki kaynak havuzunu temsil eder.
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;
İlgili içerik
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL Veritabanı)
- Azure SQL Veritabanı bellek içi teknolojileri kullanarak performansı iyileştirme
- Azure SQL Yönetilen Örneği'nde bellek içi teknolojileri kullanarak performansı iyileştirme
- Azure SQL Veritabanı'nde OLTP depolama In-Memory izleme
- Azure SQL Yönetilen Örneği'nde OLTP depolamayı In-Memory izleme
- Azure SQL Veritabanı ile ilgili yetersiz bellek sorunlarını giderme