Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do Azure
Instância Gerenciada de SQL do Azure
Banco de dados SQL no Microsoft Fabric
Retorna um conjunto de eventos recentes fora de memória (OOM).
Para obter mais informações sobre condições de falta de memória no Banco de Dados SQL do Azure, consulte Solucionar problemas de erros de memória insuficiente no Banco de Dados SQL do Azure.
| Nome da Coluna | Tipo de dados | Descrição |
|---|---|---|
event_time |
datetime | Hora do evento OOM. Não permite valor nulo. |
oom_cause |
tinyint | Um valor numérico que indica a causa raiz do OOM. A causa OOM é determinada por um algoritmo heurístico e é fornecida com um grau finito de confiança. Não permite valor nulo. |
oom_cause_desc |
nvarchar(30) | Descrição do oom_cause. Não permite valor nulo.0. UNKNOWN - Não foi possível determinar a causa do OOM1. HEKATON_POOL_MEMORY_LOW - Memória insuficiente no pool de recursos usado para OLTP in-memory. Para obter mais informações, consulte Monitorar OLTP na memória. 2. MEMORY_LOW – Memória insuficiente disponível para o processo do mecanismo de banco de dados3. OS_MEMORY_PRESSURE – OOM devido à pressão de memória externa do sistema operacional4. OS_MEMORY_PRESSURE_SQL – OOM devido à pressão de memória externa de outras instâncias do mecanismo de banco de dados5. NON_SOS_MEMORY_LEAK – OOM devido a um vazamento na memória não SOS, por exemplo, módulos carregados6. SERVERLESS_MEMORY_RECLAMATION – OOM relacionado à recuperação de memória em um banco de dados sem servidor7. MEMORY_LEAK – OOM devido a um vazamento na memória SOS8. SLOW_BUFFER_POOL_SHRINK – OOM devido ao pool de buffers não liberar memória rápido o suficiente sob pressão de memória9. INTERNAL_POOL – Memória insuficiente no pool de recursos interno10. SYSTEM_POOL – Memória insuficiente em um pool de recursos do sistema11. QUERY_MEMORY_GRANTS – OOM devido a grandes concessões de memória mantidas por consultas12. REPLICAS_AND_AVAILABILITY – OOM devido a cargas de trabalho no pool de recursos SloSecSharedPool |
available_physical_memory_mb |
int | Memória física disponível, em megabytes. Não permite valor nulo. |
initial_job_object_memory_limit_mb |
int | Limite de memória do objeto de trabalho na inicialização do mecanismo de banco de dados, em megabytes. Para obter mais informações sobre Objetos de Trabalho, consulte Governança de recursos. Anulável |
current_job_object_memory_limit_mb |
int | Limite de memória atual do objeto de trabalho, em megabytes. Anulável |
process_memory_usage_mb |
int | Uso total da memória do processo em megabytes pela instância. Não permite valor nulo. |
non_sos_memory_usage_mb |
int | Uso não SOS em megabytes, incluindo threads criados pelo SOS, threads criados por componentes não SOS, DLLs carregadas etc. Não é anulável. |
committed_memory_target_mb |
int | Memória de destino SOS em megabytes. Não permite valor nulo. |
committed_memory_mb |
int | SOS memória confirmada em megabytes. Não permite valor nulo. |
allocation_potential_memory_mb |
int | Memória disponível para a instância do mecanismo de banco de dados para novas alocações, em megabytes. Não permite valor nulo. |
oom_factor |
tinyint | Um valor que fornece informações adicionais relacionadas ao evento OOM, somente para uso interno. Não permite valor nulo. |
oom_factor_desc |
nvarchar(30) | Descrição do oom_factor. Somente para uso interno. Não permite valor nulo.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) | Pools de recursos que estão sem memória, incluindo estatísticas de uso de memória para cada pool. Essas informações são fornecidas como um valor JSON. Anulável |
top_memory_clerks |
nvarchar(4000) | Principais funcionários de memória por consumo de memória, incluindo estatísticas de uso de memória para cada funcionário. Essas informações são fornecidas como um valor JSON. Anulável |
top_resource_pools |
nvarchar(4000) | Principais pools de recursos por consumo de memória, incluindo estatísticas de uso de memória para cada pool de recursos. Essas informações são fornecidas como um valor JSON. Anulável |
possible_leaked_memory_clerks |
nvarchar(4000) | Funcionários de memória que vazaram memória. Baseado em heurísticas e fornecido com um grau finito de confiança. Essas informações são fornecidas como um valor JSON. Anulável |
possible_non_sos_leaked_memory_mb |
int | Memória não-SOS vazada em megabytes, se houver. Baseado em heurísticas e fornecido com um grau finito de confiança. Anulável |
Permissions
Na Instância Gerenciada de SQL do Azure, requer VIEW SERVER PERFORMANCE STATE permissão.
No Banco de Dados SQL Básico, S0e S1 objetivos de serviço e para bancos de dados em pools elásticos , a conta de de administrador do servidor, a conta de de administração do Microsoft Entra ou a associação na função de servidor ##MS_ServerPerformanceStateReader## é necessária. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE PERFORMANCE STATE no banco de dados ou a associação à função de servidor ##MS_ServerPerformanceStateReader## é necessária.
Observações
Cada linha nesse modo de exibição representa um evento OOM (memória insuficiente) que ocorreu no mecanismo de banco de dados. Nem todos os eventos OOM podem ser capturados. Eventos OOM mais antigos podem desaparecer do conjunto de resultados à medida que ocorrem eventos OOM mais recentes. O conjunto de resultados não é mantido entre reinicializações do mecanismo de banco de dados.
Atualmente, esse DMV é visível, mas não suportado no SQL Server 2022 (16.x) e SQL Server 2025 (17.x).
summarized_oom_snapshot evento estendido
O summarized_oom_snapshot evento estendido faz parte da sessão de eventos para simplificar a system_health detecção de eventos de memória insuficiente. Cada summarized_oom_snapshot evento estendido corresponde a uma linha em sys.dm_os_out_of_memory_events. Para obter mais informações, consulte o blog: Uma nova maneira de solucionar erros de memória no mecanismo de banco de dados.
Examples
A. Obter todos os eventos OOM disponíveis
O exemplo a seguir retorna todos os dados de evento ordenados pela hora mais recente para o mecanismo de banco de dados que hospeda o banco de dados conectado no momento.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
B. Obter os principais funcionários de memória para cada evento OOM
O exemplo a seguir retorna um subconjunto de dados de evento e expande os dados JSON na top_memory_clerks coluna. Cada linha no conjunto de resultados representa um alto funcionário de memória para um evento OOM específico.
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. Obter os principais pools de recursos para cada evento OOM
O exemplo a seguir retorna um subconjunto de dados de evento e expande os dados JSON na top_resource_pools coluna. Cada linha no conjunto de resultados representa um pool de recursos superior para um evento OOM específico.
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;
Conteúdo relacionado
- sys.resource_stats (Banco de Dados SQL do Azure)
- sys.server_resource_stats (Instância Gerenciada de SQL do Azure)
- sys.dm_db_resource_stats
- Otimizar o desempenho usando tecnologias na memória no Banco de Dados SQL do Azure
- Otimizar o desempenho usando tecnologias na memória na Instância Gerenciada de SQL do Azure
- Monitorar o armazenamento OLTP in-memory no Banco de Dados SQL do Azure
- Monitorar o armazenamento OLTP in-memory na Instância Gerenciada de SQL do Azure
- Solucionar problemas de erros de memória com o Banco de Dados SQL do Azure e o Banco de Dados SQL do Fabric