sys.dm_os_out_of_memory_events
Применимо к: База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает выход из памяти (OOM).
Дополнительные сведения об условиях нехватки памяти в База данных SQL Azure см. в разделе "Устранение неполадок с нехваткой памяти" в База данных SQL Azure.
Имя столбца | Тип данных | Description |
---|---|---|
event_time |
datetime2, не null | Время события OOM |
oom_cause |
tinyint, не null | Числовое значение, указывающее первопричину OOM. Причина OOM определяется эвристических алгоритмом и предоставляется с конечной степенью достоверности. |
oom_cause_desc |
nvarchar(60), не null | Описание одного из следующих вариантов oom_cause :0. Неизвестно - не удалось определить причину OOM 1. HEKATON_POOL_MEMORY_LOW — недостаточно памяти в пуле ресурсов, используемом для OLTP в памяти. Дополнительные сведения см. в разделе "Мониторинг в памяти OLTP". 2. MEMORY_LOW. Недостаточно памяти, доступной процессу ядра СУБД 3. OS_MEMORY_PRESSURE — OOM из-за давления внешней памяти операционной системы 4. OS_MEMORY_PRESSURE_SQL — OOM из-за внешнего давления памяти из других экземпляров ядра СУБД 5. NON_SOS_MEMORY_LEAK — OOM из-за утечки в памяти, отличной от SOS, например загруженных модулей 6. SERVERLESS_MEMORY_RECLAMATION — OOM, связанная с восстановлением памяти в бессерверной базе данных 7. MEMORY_LEAK — OOM из-за утечки в памяти SOS 8. SLOW_BUFFER_POOL_SHRINK — OOM из-за того, что буферный пул не освобождает память достаточно быстро под давлением памяти. 9. INTERNAL_POOL . Недостаточно памяти во внутреннем пуле ресурсов 10. SYSTEM_POOL — недостаточно памяти в системном пуле ресурсов 11. QUERY_MEMORY_GRANTS — OOM из-за больших объемов памяти, предоставляемых запросами 12. REPLICAS_AND_AVAILABILITY — OOM из-за рабочих нагрузок в пуле ресурсов SloSecSharedPool |
available_physical_memory_mb |
int, не null | Доступная физическая память в мегабайтах |
initial_job_object_memory_limit_mb |
int, null | Ограничение памяти объекта задания при запуске ядра СУБД в мегабайтах. Дополнительные сведения о объектах заданий см. в разделе "Управление ресурсами". |
current_job_object_memory_limit_mb |
int, null | Текущее ограничение памяти объекта задания в мегабайтах |
process_memory_usage_mb |
int, не null | Общее использование памяти процесса в мегабайтах экземпляром |
non_sos_memory_usage_mb |
int, не null | Использование, отличное от SOS в мегабайтах, включая созданные потоки SOS, потоки, созданные компонентами, не являющихся SOS, загруженные библиотеки DLL и т. д. |
committed_memory_target_mb |
int, не null | Целевая память SOS в мегабайтах |
committed_memory_mb |
int, не null | Зафиксированная память SOS в мегабайтах |
allocation_potential_memory_mb |
int, не null | Память, доступная экземпляру ядра СУБД для новых выделений в мегабайтах |
oom_factor |
tinyint, не null | Значение, которое предоставляет дополнительные сведения, связанные с событием OOM, только для внутреннего использования |
oom_factor_desc |
nvarchar(60), не null | oom_factor Описание . Только для внутреннего пользования. Одно из двух значений:0 — НЕОПРЕДЕЛЕННЫЙ 1 - ALLOCATION_POTENTIAL 2 — BLOCK_ALLOCATOR 3 — ESCAPE_TIMEOUT 4 — FAIL_FAST 5 - MEMORY_POOL 6 — EMERGENCY_ALLOCATOR 7 — VIRTUAL_ALLOC 8 — ИМИТАЦИЯ 9 - BUF_ALLOCATOR 10 - QUERY_MEM_QUEUE 11 — ФРАГМЕНТ 12 - INIT_DESCRIPTOR 13 - MEMORY_POOL_PRESSURE 14 - DESCRIPTOR_ALLOCATOR 15 - DESCRIPTOR_ALLOCATOR_ESCAPE |
oom_resource_pools |
nvarchar(max), null | Пулы ресурсов, не имеющие памяти, включая статистику использования памяти для каждого пула. Эти сведения предоставляются в виде значения JSON. |
top_memory_clerks |
nvarchar(max), не null | Основные клерки памяти по объему памяти, включая статистику использования памяти для каждого клерка. Эти сведения предоставляются в виде значения JSON. |
top_resource_pools |
nvarchar(max), не null | Основные пулы ресурсов по использованию памяти, включая статистику использования памяти для каждого пула ресурсов. Эти сведения предоставляются в виде значения JSON. |
possible_leaked_memory_clerks |
nvarchar(max), null | Клерки памяти, которые утечки памяти. Основываясь на эвристики и обеспеченной конечной степенью достоверности. Эти сведения предоставляются в виде значения JSON. |
possible_non_sos_leaked_memory_mb |
int, null | Утечка памяти, отличной от SOS в мегабайтах, если таковые есть. Основываясь на эвристики и обеспеченной конечной степенью достоверности. |
Разрешения
Для Управляемый экземпляр SQL Azure требуется VIEW SERVER STATE
разрешение.
Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader##
роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE
в базе данных или членство в роли сервера ##MS_ServerStateReader##
.
Замечания
Каждая строка в этом представлении представляет событие вне памяти (OOM), которое произошло в ядре СУБД. Не все события OOM могут быть записаны. Старые события OOM могут исчезнуть из результирующий набор, так как происходят более последние события OOM. Результирующий набор не сохраняется во время перезапуска ядра СУБД.
В настоящее время это динамическое административное представление отображается, но не поддерживается в SQL Server 2022 (16.x).
расширенное событие summarized_oom_snapshot
Расширенное summarized_oom_snapshot
событие является частью существующего system_health
сеанса событий для упрощения обнаружения. Это событие появляется при обнаружении событий, не связанных с памятью (OOM). Это динамическое административное представление соответствует действиям, записанным в расширенном summarized_oom_snapshot
событии, как введено в База данных SQL Azure в январе 2022 года. Дополнительные сведения см . в блоге: новый способ устранения ошибок вне памяти в ядре СУБД.
Пример
В следующем примере возвращаются данные событий, упорядоченные по последнему времени для подключенной базы данных.
SELECT * FROM sys.dm_os_out_of_memory_events ORDER BY event_time DESC;
Связанный контент
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (база данных SQL Azure)
- Оптимизация производительности с помощью технологий в памяти в База данных SQL Azure
- Оптимизация производительности с помощью технологий в памяти в Управляемый экземпляр SQL Azure
- Мониторинг хранилища OLTP в памяти в База данных SQL Azure
- Мониторинг хранилища OLTP в памяти в Управляемом Mnstance SQL Azure
- Устранение проблем нехватки памяти в Базе данных SQL Azure