sys.dm_os_out_of_memory_events
S’applique à : Azure SQL Database Azure SQL Managed Instance
Retourne un journal des événements de mémoire insuffisante (OOM).
Pour plus d’informations sur les conditions de mémoire insuffisante dans Azure SQL Database, consultez Résoudre les erreurs de mémoire insuffisante dans Azure SQL Database.
Nom de la colonne | Type de données | Description |
---|---|---|
event_time |
datetime, non null | Heure de l’événement OOM. |
oom_cause |
tinyint, pas null | Valeur numérique indiquant la cause racine OOM. La cause OOM est déterminée par un algorithme heuristique et est fournie avec un degré fini de confiance. |
oom_cause_desc |
nvarchar(30), pas null | Description de oom_cause , l’une des suivantes :0. INCONNU - La cause OOM n’a pas pu être déterminée 1. HEKATON_POOL_MEMORY_LOW - Mémoire insuffisante dans le pool de ressources utilisé pour OLTP en mémoire. Pour plus d’informations, consultez Monitor In-Memory OLTP. 2. MEMORY_LOW - Mémoire insuffisante disponible pour le processus du moteur de base de données 3. OS_MEMORY_PRESSURE - OOM en raison de la pression de mémoire externe du système d’exploitation 4. OS_MEMORY_PRESSURE_SQL - OOM en raison de la pression de mémoire externe provenant d’autres instances du moteur de base de données 5. NON_SOS_MEMORY_LEAK - OOM en raison d’une fuite de mémoire non SOS, par exemple, des modules chargés 6. SERVERLESS_MEMORY_RECLAMATION - OOM lié à la récupération de la mémoire dans une base de données serverless 7. MEMORY_LEAK - OOM en raison d’une fuite de mémoire SOS 8. SLOW_BUFFER_POOL_SHRINK - OOM en raison du pool de mémoires tampons qui ne libère pas suffisamment de mémoire rapide sous pression mémoire 9. INTERNAL_POOL - Mémoire insuffisante dans le pool de ressources interne 10. SYSTEM_POOL - Mémoire insuffisante dans un pool de ressources système 11. QUERY_MEMORY_GRANTS - OOM en raison d’allocations de mémoire volumineuses détenues par les requêtes 12. REPLICAS_AND_AVAILABILITY - OOM en raison de charges de travail dans le pool de ressources SloSecSharedPool |
available_physical_memory_mb |
int, non null | Mémoire physique disponible, en mégaoctets. |
initial_job_object_memory_limit_mb |
int, null | Limite de mémoire de l’objet de travail au démarrage du moteur de base de données, en mégaoctets. Pour plus d’informations sur les objets de travail, consultez Gouvernance des ressources. |
current_job_object_memory_limit_mb |
int, null | Limite de mémoire actuelle de l’objet de travail, en mégaoctets. |
process_memory_usage_mb |
int, non null | Utilisation totale de la mémoire du processus en mégaoctets par l’instance. |
non_sos_memory_usage_mb |
int, non null | Utilisation non-SOS en mégaoctets, y compris les threads créés par SOS, les threads créés par des composants non-SOS, les DLL chargées, etc. |
committed_memory_target_mb |
int, non null | Mémoire cible SOS en mégaoctets. |
committed_memory_mb |
int, non null | Mémoire validée SOS en mégaoctets. |
allocation_potential_memory_mb |
int, non null | Mémoire disponible pour l’instance du moteur de base de données pour les nouvelles allocations, en mégaoctets. |
oom_factor |
tinyint, pas null | Valeur qui fournit des informations supplémentaires relatives à l’événement OOM, pour une utilisation interne uniquement. |
oom_factor_desc |
nvarchar(30), pas null | Description de oom_factor . Réservé exclusivement à un usage interne. Valeurs possibles :0 - UNDEFINED 1 - ALLOCATION_POTENTIAL 2 - BLOCK_ALLOCATOR 3 - ESCAPE_TIMEOUT 4 - FAIL_FAST 5 - MEMORY_POOL 6 - EMERGENCY_ALLOCATOR 7 - VIRTUAL_ALLOC 8 - SIMULÉ 9 - BUF_ALLOCATOR 10 - QUERY_MEM_QUEUE 11 - FRAGMENT 12 - INIT_DESCRIPTOR 13 - MEMORY_POOL_PRESSURE 14 - DESCRIPTOR_ALLOCATOR 15 - DESCRIPTOR_ALLOCATOR_ESCAPE |
oom_resource_pools |
nvarchar(4000), null | Pools de ressources hors mémoire, y compris les statistiques d’utilisation de la mémoire pour chaque pool. Ces informations sont fournies sous forme de valeur JSON. |
top_memory_clerks |
nvarchar(4000), null | Principaux commis de mémoire par consommation de mémoire, y compris les statistiques d’utilisation de la mémoire pour chaque commis. Ces informations sont fournies sous forme de valeur JSON. |
top_resource_pools |
nvarchar(4000), null | Principaux pools de ressources par consommation de mémoire, y compris les statistiques d’utilisation de la mémoire pour chaque pool de ressources. Ces informations sont fournies sous forme de valeur JSON. |
possible_leaked_memory_clerks |
nvarchar(4000), null | Commis de mémoire qui ont fui la mémoire. Basé sur l’heuristique et fourni avec un degré fini de confiance. Ces informations sont fournies sous forme de valeur JSON. |
possible_non_sos_leaked_memory_mb |
int, null | Mémoire non SOS divulguée en mégaoctets, le cas échéant. Basé sur l’heuristique et fourni avec un degré fini de confiance. |
autorisations
Sur Azure SQL Managed Instance, nécessite VIEW SERVER PERFORMANCE STATE
une autorisation.
Sur les objectifs de service SQL Database Basic, S0 et S1, et pour les bases de données dans les pools élastiques, le compte d’administration du serveur, le compte d’administration Microsoft Entra ou l’appartenance dans ##MS_ServerPerformanceStateReader##
au rôle de serveur est requis. Sur tous les autres objectifs de service SQL Database, l’autorisation VIEW DATABASE PERFORMANCE STATE
sur la base de données ou l’appartenance au rôle serveur ##MS_ServerPerformanceStateReader##
est requise.
Notes
Chaque ligne de cette vue représente un événement de mémoire insuffisante (OOM) qui s’est produit dans le moteur de base de données. Tous les événements OOM ne peuvent pas être capturés. Les événements OOM plus anciens peuvent disparaître du jeu de résultats à mesure que des événements OOM plus récents se produisent. Le jeu de résultats n’est pas conservé entre les redémarrages du moteur de base de données.
Actuellement, cette vue dynamique est visible, mais pas prise en charge dans SQL Server 2022 (16.x).
summarized_oom_snapshot événement étendu
L’événement summarized_oom_snapshot
étendu fait partie de la system_health
session d’événements pour simplifier la détection des événements hors mémoire. Chaque summarized_oom_snapshot
événement étendu correspond à une ligne dans sys.dm_os_out_of_memory_events
. Pour plus d’informations, consultez Blog : une nouvelle méthode de résolution des erreurs de mémoire insuffisante dans le moteur de base de données.
Exemple
L’exemple suivant retourne les données d’événement classées par l’heure la plus récente pour le moteur de base de données hébergeant la base de données actuellement connectée.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
Contenu connexe
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL Database)
- Optimiser les performances à l’aide de technologies en mémoire dans Azure SQL Database
- Optimiser les performances à l’aide de technologies en mémoire dans Azure SQL Managed Instance
- Surveiller le stockage OLTP en mémoire dans Azure SQL Database
- Surveiller le stockage OLTP en mémoire dans Azure SQL Managed Instance
- Résoudre les erreurs de mémoire insuffisante avec Azure SQL Database