Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
              gäller för:Azure SQL Database
Azure SQL Managed Instance
Returnerar en uppsättning senaste OOM-händelser (out of memory).
Mer information om minnesbrist i Azure SQL Database finns i Felsöka minnesfel i Azure SQL Database.
| Kolumnnamn | Datatyp | Beskrivning | 
|---|---|---|
| event_time | datetime | OOM-händelsetid. Får inte vara ogiltig. | 
| oom_cause | tinyint | Ett numeriskt värde som anger OOM-rotorsaken. OOM-orsaken bestäms av en heuristisk algoritm och ges en begränsad grad av förtroende. Får inte vara ogiltig. | 
| oom_cause_desc | nvarchar(30) | Beskrivning av oom_cause. Får inte vara ogiltig.0. UNKNOWN– OOM-orsaken kunde inte fastställas1. HEKATON_POOL_MEMORY_LOW – Otillräckligt minne i resurspoolen som används för In-Memory OLTP. Mer information finns i Övervaka In-Memory OLTP. 2. MEMORY_LOW– Otillräckligt minne tillgängligt för databasmotorprocessen3. OS_MEMORY_PRESSURE- OOM på grund av externt minnestryck från operativsystemet4. OS_MEMORY_PRESSURE_SQL– OOM på grund av externt minnestryck från andra instanser av databasmotorn5. NON_SOS_MEMORY_LEAK– OOM på grund av en läcka i icke-SOS-minne, till exempel inlästa moduler6. SERVERLESS_MEMORY_RECLAMATION– OOM som rör minnesåtertagning i en serverlös databas7. MEMORY_LEAK- OOM på grund av en läcka i SOS-minnet8. SLOW_BUFFER_POOL_SHRINK– OOM på grund av att buffertpoolen inte frigör minne tillräckligt snabbt under minnestryck9. INTERNAL_POOL– Otillräckligt minne i den interna resurspoolen10. SYSTEM_POOL– Otillräckligt minne i en systemresurspool11. QUERY_MEMORY_GRANTS– OOM på grund av stora minnesbidrag som innehas av frågor12. REPLICAS_AND_AVAILABILITY– OOM på grund av arbetsbelastningar i resurspoolen SloSecSharedPool | 
| available_physical_memory_mb | Int | Tillgängligt fysiskt minne i megabyte. Får inte vara ogiltig. | 
| initial_job_object_memory_limit_mb | Int | Minnesgräns för jobbobjekt vid start av databasmotor i megabyte. Mer information om jobbobjekt finns i Resursstyrning. Nullbar. | 
| current_job_object_memory_limit_mb | Int | Aktuell minnesgräns för jobbobjekt i megabyte. Nullbar. | 
| process_memory_usage_mb | Int | Total processminnesanvändning i megabyte per instans. Får inte vara ogiltig. | 
| non_sos_memory_usage_mb | Int | Icke-SOS-användning i megabyte, inklusive SOS-skapade trådar, trådar som skapats av icke-SOS-komponenter, inlästa DLL:er osv. Kan inte vara null. | 
| committed_memory_target_mb | Int | SOS-målminne i megabyte. Får inte vara ogiltig. | 
| committed_memory_mb | Int | SOS-incheckat minne i megabyte. Får inte vara ogiltig. | 
| allocation_potential_memory_mb | Int | Minne som är tillgängligt för databasmotorinstansen för nya allokeringar i megabyte. Får inte vara ogiltig. | 
| oom_factor | tinyint | Ett värde som ger ytterligare information som rör OOM-händelsen, endast för internt bruk. Får inte vara ogiltig. | 
| oom_factor_desc | nvarchar(30) | Beskrivning av oom_factor. Endast för internt bruk. Får inte vara ogiltig.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) | Resurspooler som har slut på minne, inklusive minnesanvändningsstatistik för varje pool. Den här informationen tillhandahålls som ett JSON-värde. Nullbar. | 
| top_memory_clerks | nvarchar(4000) | De främsta minneskontoren efter minnesförbrukning, inklusive minnesanvändningsstatistik för varje kontorist. Den här informationen tillhandahålls som ett JSON-värde. Nullbar. | 
| top_resource_pools | nvarchar(4000) | De främsta resurspoolerna efter minnesförbrukning, inklusive minnesanvändningsstatistik för varje resurspool. Den här informationen tillhandahålls som ett JSON-värde. Nullbar. | 
| possible_leaked_memory_clerks | nvarchar(4000) | Minnespersonal som har läckt minne. Baserat på heuristik och tillhandahålls med en begränsad grad av förtroende. Den här informationen tillhandahålls som ett JSON-värde. Nullbar. | 
| possible_non_sos_leaked_memory_mb | Int | Läckte icke-SOS-minne i megabyte, om det finns några. Baserat på heuristik och tillhandahålls med en begränsad grad av förtroende. Nullbar. | 
Behörigheter
I Azure SQL Managed Instance kräver VIEW SERVER PERFORMANCE STATE behörighet.
I SQL Database Grundläggande, S0och S1 tjänstmål och för databaser i elastiska pooler, serveradministratör konto, Microsoft Entra-administratör konto eller medlemskap i ##MS_ServerPerformanceStateReader##serverrollen krävs. För alla andra SQL Database-tjänstmål krävs antingen VIEW DATABASE PERFORMANCE STATE behörighet för databasen eller medlemskap i ##MS_ServerPerformanceStateReader## serverrollen.
Anmärkningar
Varje rad i den här vyn representerar en OOM-händelse (out of memory) som har inträffat i databasmotorn. Alla OOM-händelser kan inte registreras. Äldre OOM-händelser kan försvinna från resultatuppsättningen när nyare OOM-händelser inträffar. Resultatuppsättningen sparas inte mellan omstarter av databasmotorn.
För närvarande är denna DMV synlig men stöds inte i SQL Server 2022 (16.x) och SQL Server 2025 (17.x) Preview.
summarized_oom_snapshot utökad händelse
Den summarized_oom_snapshot utökade händelsen är en del av händelsesessionen system_health för att förenkla identifieringen av minneshändelser. Varje summarized_oom_snapshot utökad händelse motsvarar en rad i sys.dm_os_out_of_memory_events. Mer information finns i Blogg: Ett nytt sätt att felsöka minnesfel i databasmotorn.
Exempel
A. Hämta alla tillgängliga OOM-händelser
I följande exempel returneras alla händelsedata ordnade efter den senaste tiden för databasmotorn som är värd för den anslutna databasen.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
B. Hämta de främsta minneskontoren för varje OOM-händelse
I följande exempel returneras en delmängd av händelsedata och JSON-data expanderas i top_memory_clerks kolumnen. Varje rad i resultatuppsättningen representerar en högsta minnestjänsteman för en specifik OOM-händelse.
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. Hämta de främsta resurspoolerna för varje OOM-händelse
I följande exempel returneras en delmängd av händelsedata och JSON-data expanderas i top_resource_pools kolumnen. Varje rad i resultatuppsättningen representerar en toppresurspool för en specifik OOM-händelse.
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;
Relaterat innehåll
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL Database)
- Optimera prestanda med hjälp av minnesintern teknik i Azure SQL Database
- Optimera prestanda med hjälp av minnesintern teknik i Azure SQL Managed Instance
- Övervaka In-Memory OLTP-lagring i Azure SQL Database
- Övervaka In-Memory OLTP-lagring i Azure SQL Managed Instance
- Felsöka minnesfel (slut på minne) med Azure SQL Database