Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:Azure SQL Database
Azure SQL Managed Instance
Retourneert een reeks recente OOM-gebeurtenissen (out of memory).
Zie Problemen met onvoldoende geheugen in Azure SQL Database oplossen voor meer informatie over onvoldoende geheugen in Azure SQL Database.
| Kolomnaam | Gegevenstype | Beschrijving |
|---|---|---|
event_time |
datum en tijd | OOM-gebeurtenistijd. Is niet nulbaar. |
oom_cause |
tinyint | Een numerieke waarde die de hoofdoorzaak van de OOM aangeeft. De oorzaak van de OOM wordt bepaald door een heuristisch algoritme en wordt voorzien van een eindige mate van vertrouwen. Is niet nulbaar. |
oom_cause_desc |
nvarchar(30) | Beschrijving van oom_cause. Is niet nulbaar.0. UNKNOWN - De oorzaak van de OOM kan niet worden bepaald1. HEKATON_POOL_MEMORY_LOW - Onvoldoende geheugen in de resourcegroep die wordt gebruikt voor In-Memory OLTP. Zie Monitor In-Memory OLTP voor meer informatie. 2. MEMORY_LOW - Onvoldoende geheugen beschikbaar voor het database-engineproces3. OS_MEMORY_PRESSURE - OOM vanwege externe geheugendruk van het besturingssysteem4. OS_MEMORY_PRESSURE_SQL - OOM vanwege externe geheugenbelasting van andere exemplaren van de database-engine5. NON_SOS_MEMORY_LEAK - OOM vanwege een lek in niet-SOS-geheugen, bijvoorbeeld geladen modules6. SERVERLESS_MEMORY_RECLAMATION - OOM gerelateerd aan geheugenherstel in een serverloze database7. MEMORY_LEAK - OOM vanwege een lek in SOS-geheugen8. SLOW_BUFFER_POOL_SHRINK - OOM vanwege de buffergroep die onvoldoende geheugen vrijgeeft onder geheugendruk9. INTERNAL_POOL - Onvoldoende geheugen in de interne resourcegroep10. SYSTEM_POOL - Onvoldoende geheugen in een systeemresourcegroep11. QUERY_MEMORY_GRANTS - OOM vanwege grote geheugentoekenningen die worden gehouden door query's12. REPLICAS_AND_AVAILABILITY - OOM vanwege workloads in SloSecSharedPool-resourcegroep |
available_physical_memory_mb |
Int | Beschikbaar fysiek geheugen, in megabytes. Is niet nulbaar. |
initial_job_object_memory_limit_mb |
Int | Geheugenlimiet voor taakobject bij het opstarten van de database-engine, in megabytes. Zie Resourcebeheer voor meer informatie over taakobjecten. Kan null zijn. |
current_job_object_memory_limit_mb |
Int | Taakobject huidige geheugenlimiet, in megabytes. Kan null zijn. |
process_memory_usage_mb |
Int | Het totale geheugengebruik van het proces in megabytes per exemplaar. Is niet nulbaar. |
non_sos_memory_usage_mb |
Int | Niet-SOS-gebruik in megabytes, waaronder door SOS gemaakte threads, threads die zijn gemaakt door niet-SOS-onderdelen, geladen DLL's, enzovoort. Is niet nullable. |
committed_memory_target_mb |
Int | SOS-doelgeheugen in megabytes. Is niet nulbaar. |
committed_memory_mb |
Int | SOS vastgelegde geheugen in megabytes. Is niet nulbaar. |
allocation_potential_memory_mb |
Int | Geheugen dat beschikbaar is voor het database-engineexemplaren voor nieuwe toewijzingen, in megabytes. Is niet nulbaar. |
oom_factor |
tinyint | Een waarde die aanvullende informatie biedt met betrekking tot de OOM-gebeurtenis, alleen voor intern gebruik. Is niet nulbaar. |
oom_factor_desc |
nvarchar(30) | Beschrijving van oom_factor. Alleen voor intern gebruik. Is niet nulbaar.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) | Resourcegroepen die onvoldoende geheugen bevatten, inclusief statistieken voor geheugengebruik voor elke pool. Deze informatie wordt verstrekt als een JSON-waarde. Kan null zijn. |
top_memory_clerks |
nvarchar(4000) | Belangrijkste geheugenbediende medewerkers per geheugenverbruik, inclusief statistieken voor geheugengebruik voor elke bediende. Deze informatie wordt verstrekt als een JSON-waarde. Kan null zijn. |
top_resource_pools |
nvarchar(4000) | Belangrijkste resourcegroepen op basis van geheugenverbruik, inclusief statistieken over geheugengebruik voor elke resourcegroep. Deze informatie wordt verstrekt als een JSON-waarde. Kan null zijn. |
possible_leaked_memory_clerks |
nvarchar(4000) | Geheugenbediendes die geheugen hebben gelekt. Gebaseerd op heuristiek en voorzien van een eindige mate van vertrouwen. Deze informatie wordt verstrekt als een JSON-waarde. Kan null zijn. |
possible_non_sos_leaked_memory_mb |
Int | Gelekt niet-SOS-geheugen in megabytes, indien van toepassing. Gebaseerd op heuristiek en voorzien van een eindige mate van vertrouwen. Kan null zijn. |
Machtigingen
Voor Azure SQL Managed Instance is een machtiging vereist VIEW SERVER PERFORMANCE STATE .
Op SQL Database Basic, S0en S1 servicedoelstellingen, en voor databases in elastische pools, is het serverbeheerder--account, het Microsoft Entra-beheerdersaccount of lidmaatschap van de ##MS_ServerPerformanceStateReader##-server functie vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE PERFORMANCE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerPerformanceStateReader##-serverfunctie vereist.
Opmerkingen
Elke rij in deze weergave vertegenwoordigt een OOM-gebeurtenis (out of memory) die is opgetreden in de database-engine. Niet alle OOM-gebeurtenissen kunnen worden vastgelegd. Oudere OOM-gebeurtenissen kunnen verdwijnen uit de resultatenset naarmate recentere OOM-gebeurtenissen optreden. De resultatenset blijft niet behouden tijdens het opnieuw opstarten van de database-engine.
Momenteel is deze DMV zichtbaar, maar wordt niet ondersteund in SQL Server 2022 (16.x) en SQL Server 2025 (17.x) Preview.
uitgebreide gebeurtenis summarized_oom_snapshot
De summarized_oom_snapshot uitgebreide gebeurtenis maakt deel uit van de system_health gebeurtenissessie om de detectie van gebeurtenissen buiten het geheugen te vereenvoudigen. Elke summarized_oom_snapshot uitgebreide gebeurtenis komt overeen met een rij in sys.dm_os_out_of_memory_events. Zie Blog: Een nieuwe manier om geheugenfouten in de database-engine op te lossen voor meer informatie.
Voorbeelden
Eén. Alle beschikbare OOM-gebeurtenissen ophalen
In het volgende voorbeeld worden alle gebeurtenisgegevens geretourneerd die zijn gerangschikt op de meest recente tijd voor de database-engine die als host fungeert voor de momenteel verbonden database.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
B. De beste geheugenbediende voor elke OOM-gebeurtenis ophalen
In het volgende voorbeeld wordt een subset van gebeurtenisgegevens geretourneerd en worden de JSON-gegevens in de top_memory_clerks kolom uitgebreid. Elke rij in de resultatenset vertegenwoordigt een geheugenbediende voor een specifieke OOM-gebeurtenis.
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. De beste resourcegroepen ophalen voor elke OOM-gebeurtenis
In het volgende voorbeeld wordt een subset van gebeurtenisgegevens geretourneerd en worden de JSON-gegevens in de top_resource_pools kolom uitgebreid. Elke rij in de resultatenset vertegenwoordigt een topresourcegroep voor een specifieke OOM-gebeurtenis.
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;
Verwante inhoud
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL Database)
- Prestaties optimaliseren met behulp van in-memory technologieën in Azure SQL Database
- Prestaties optimaliseren met behulp van in-memory technologieën in Azure SQL Managed Instance
- Monitor In-Memory OLTP-opslag in Azure SQL Database
- In-Memory OLTP-opslag bewaken in Azure SQL Managed Instance
- Probleem oplossen met fouten vanwege onvoldoende geheugen in Azure SQL Database