Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Vrátí sadu nedávných událostí nedostatku paměti (OOM).
Další informace o stavu nedostatku paměti ve službě Azure SQL Database najdete v tématu Řešení potíží s chybami nedostatku paměti ve službě Azure SQL Database.
| Název sloupce | Datový typ | Popis |
|---|---|---|
event_time |
datum a čas | Čas události OOM. Není možné nastavit jako null. |
oom_cause |
tinyint | Číselná hodnota označující původní příčinu objektu OOM. Příčina OOM je určena heuristickým algoritmem a poskytuje konečný stupeň spolehlivosti. Není možné nastavit jako null. |
oom_cause_desc |
nvarchar(30) | Popis .oom_cause Není možné nastavit jako null.0. – Nelze určit příčinu objektu OOM. UNKNOWN1. HEKATON_POOL_MEMORY_LOW – nedostatek paměti ve fondu zdrojů, který se používá pro In-Memory OLTP. Další informace najdete v tématu Monitorování In-Memory OLTP. 2. MEMORY_LOW - Nedostatek paměti k dispozici pro proces databázového stroje3. OS_MEMORY_PRESSURE – OOM kvůli zatížení externí paměti z operačního systému4. OS_MEMORY_PRESSURE_SQL – OOM kvůli zatížení externí paměti z jiných instancí databázového stroje5. NON_SOS_MEMORY_LEAK – OOM kvůli nevracení paměti mimo SOS, například načtených modulů6. SERVERLESS_MEMORY_RECLAMATION – OOM související s reclamací paměti v bezserverové databázi7. MEMORY_LEAK – OOM kvůli nevracení v paměti SOS8. SLOW_BUFFER_POOL_SHRINK – OOM kvůli fondu vyrovnávací paměti nevolní paměť dostatečně rychle pod tlakem paměti9. INTERNAL_POOL – Nedostatek paměti v interním fondu zdrojů10. SYSTEM_POOL – Nedostatek paměti ve fondu systémových zdrojů11. QUERY_MEMORY_GRANTS – OOM kvůli velkým paměťovým grantům uchovávaným dotazy12. REPLICAS_AND_AVAILABILITY – OOM kvůli úlohám ve fondu zdrojů SloSecSharedPool |
available_physical_memory_mb |
Int | Dostupná fyzická paměť v megabajtech. Není možné nastavit jako null. |
initial_job_object_memory_limit_mb |
Int | Omezení paměti objektu úlohy při spuštění databázového stroje v megabajtech. Další informace oobjektch Nulovatelný. |
current_job_object_memory_limit_mb |
Int | Aktuální limit paměti objektu úlohy v megabajtech. Nulovatelný. |
process_memory_usage_mb |
Int | Celkové využití paměti procesu v megabajtech instance. Není možné nastavit jako null. |
non_sos_memory_usage_mb |
Int | Jiné využití než SOS v megabajtech, včetně vláken vytvořených soS, vláken vytvořených komponentami bez SOS, načtených knihoven DLL atd. Není možné použít hodnotu null. |
committed_memory_target_mb |
Int | Cílová paměť SOS v megabajtech. Není možné nastavit jako null. |
committed_memory_mb |
Int | Potvrzená paměť SOS v megabajtech. Není možné nastavit jako null. |
allocation_potential_memory_mb |
Int | Paměť dostupná pro instanci databázového stroje pro nové přidělení v megabajtech. Není možné nastavit jako null. |
oom_factor |
tinyint | Hodnota, která poskytuje další informace související s událostí OOM, pouze pro interní použití. Není možné nastavit jako null. |
oom_factor_desc |
nvarchar(30) | Popis .oom_factor Pouze pro interní použití. Není možné nastavit jako null.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) | Fondy zdrojů, které nejsou v paměti, včetně statistik využití paměti pro každý fond. Tyto informace se poskytují jako hodnota JSON. Nulovatelný. |
top_memory_clerks |
nvarchar(4000) | Nejvyšší pracovníci paměti podle spotřeby paměti, včetně statistik využití paměti pro každého úředníka. Tyto informace se poskytují jako hodnota JSON. Nulovatelný. |
top_resource_pools |
nvarchar(4000) | Hlavní fondy zdrojů podle spotřeby paměti, včetně statistik využití paměti pro každý fond zdrojů. Tyto informace se poskytují jako hodnota JSON. Nulovatelný. |
possible_leaked_memory_clerks |
nvarchar(4000) | Pracovníci paměti, kteří nevráceli paměť. Na základě heuristiky a poskytnuté s konečným stupněm spolehlivosti. Tyto informace se poskytují jako hodnota JSON. Nulovatelný. |
possible_non_sos_leaked_memory_mb |
Int | Nevrácená paměť bez SOS v megabajtech, pokud existuje. Na základě heuristiky a poskytnuté s konečným stupněm spolehlivosti. Nulovatelný. |
Povolení
Ve službě Azure SQL Managed Instance vyžaduje VIEW SERVER PERFORMANCE STATE oprávnění.
U služby SQL Database Basic, S0a S1 a pro databáze v elastických fondech, účet správce serveru serveru, účet správce Microsoft Entra nebo členství v roli ##MS_ServerPerformanceStateReader##serveru. U všech ostatních cílů služby SQL Database se vyžaduje buď oprávnění VIEW DATABASE PERFORMANCE STATE k databázi, nebo členství v roli serveru ##MS_ServerPerformanceStateReader##.
Poznámky
Každý řádek v tomto zobrazení představuje událost mimo paměť (OOM), ke které došlo v databázovém stroji. Ne všechny události OOM mohou být zachyceny. Starší události OOM můžou z sady výsledků zmizet, protože dochází k novějším událostem OOM. Sada výsledků se při restartování databázového stroje neuchová.
V současnosti je toto DMV viditelné, ale není podporováno v SQL Server 2022 (16.x) a SQL Server 2025 (17.x).
summarized_oom_snapshot rozšířená událost
summarized_oom_snapshot Rozšířená událost je součástí system_health relace událostí, která zjednodušuje detekci událostí nedostatku paměti. Každá summarized_oom_snapshot rozšířená událost odpovídá řádku v sys.dm_os_out_of_memory_events. Další informace najdete v tématu Blog: Nový způsob řešení chyb nedostatku paměti v databázovém stroji.
Příklady
A. Získání všech dostupných událostí OOM
Následující příklad vrátí všechna data událostí seřazená posledním časem databázového stroje hostujícího aktuálně připojenou databázi.
SELECT *
FROM sys.dm_os_out_of_memory_events
ORDER BY event_time DESC;
B. Získání hlavních úředníků paměti pro každou událost OOM
Následující příklad vrátí podmnožinu dat události a rozbalí data JSON ve sloupci top_memory_clerks . Každý řádek v sadě výsledků představuje hlavního pracovníka paměti pro konkrétní událost OOM.
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. Získání hlavních fondů zdrojů pro každou událost OOM
Následující příklad vrátí podmnožinu dat události a rozbalí data JSON ve sloupci top_resource_pools . Každý řádek v sadě výsledků představuje fond hlavních zdrojů pro konkrétní událost OOM.
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;
Související obsah
- sys.resource_stats
- sys.server_resource_stats
- sys.dm_db_resource_stats (Azure SQL Database)
- Optimalizace výkonu pomocí technologií v paměti ve službě Azure SQL Database
- Optimalizace výkonu pomocí technologií v paměti ve službě Azure SQL Managed Instance
- Monitorování úložiště In-Memory OLTP ve službě Azure SQL Database
- Sledujte In-Memory úložiště OLTP ve službě Azure SQL Managed Instance
- Řešení chyb nedostatku paměti ve službě Azure SQL Database