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í pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL databáze v Microsoft Fabric
Výstup poskytuje informace o každé frontě pracovníka sběru odpadu na serveru a různé statistiky o každé z nich. Na každý logický CPU je jedna fronta.
Hlavní vlákno sběru odpadu (Nečinné vlákno) sleduje aktualizace, smazání a vložení řádků pro všechny transakce dokončené od posledního vyvolání hlavního vlákna sběru odpadu. Když se vlákno sběru odpadu probudí, zjistí, zda se časové razítko nejstarší aktivní transakce změnilo. Pokud se nejstarší aktivní transakce změnila, pak nečinné vlákno zařadí pracovní položky (v částech po 16 řádcích) pro transakce, jejichž zápisové sady již nejsou potřeba. Například pokud smažete 1 024 řádků, nakonec uvidíte 64 pracovních položek garbage collection ve frontě, z nichž každý obsahuje 16 smazaných řádků. Po dokončení uživatelské transakce vybere všechny položky zařazené do fronty ve svém plánovači. Pokud na plánovači nejsou žádné zařazené položky, uživatelská transakce vyhledá v jakékoli frontě v aktuálním uzlu NUMA.
Můžete zjistit, zda garbage collection uvolňuje paměť pro smazané řádky, tím, že provedete sys.dm_xtp_gc_queue_stats a zjistíte, zda se zpracovává zařazená práce. Pokud se položky v current_queue_depth nezpracovávají nebo nejsou do current_queue_depth přidávány žádné nové pracovní položky, je to indikace, že garbage collection neuvolňuje paměť. Například garbage collection nelze provést, pokud existuje dlouhodobá transakce.
Další informace najdete v tématu In-Memory OLTP (optimalizaceIn-Memory).
| Název sloupce | Typ | Description |
|---|---|---|
| queue_id | int | Jedinečný identifikátor fronty. |
| total_enqueues | bigint | Celkový počet pracovních položek garbage collection ve frontě od spuštění serveru. |
| total_dequeues | bigint | Celkový počet pracovních položek garbage collection bylo od spuštění serveru z této fronty vyřazen. |
| current_queue_depth | bigint | Aktuální počet pracovních položek garbage collection v této frontě. Tato položka může znamenat, že jeden nebo více předmětů je odvozeno. |
| maximum_queue_depth | bigint | Maximální hloubka, kterou tato fronta zažila. |
| last_service_ticks | bigint | CPU tiká v době, kdy byla fronta naposledy servisována. |
Povolení
Vyžaduje oprávnění ZOBRAZIT STAV SERVERU.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU SERVERU na serveru.
Uživatelský scénář
Tento výstup ukazuje, že SQL Server běží buď na 4 jádrech, nebo byla instance SQL Serveru afinitována na 4 jádra:
Tento výstup ukazuje, že ve frontách nejsou žádné pracovní položky k zpracování. Pro frontu 0 je celkový počet pracovních položek vyřazených z fronty od spuštění SQL 15625 a maximální hloubka fronty je 15625.
queue_id total_enqueues total_dequeues current_queue_depth maximum_queue_depth last_service_ticks
----------------------------------------------------------------------------------------------------
0 15625 15625 0 15625 1233573168347
1 15625 15625 0 15625 1234123295566
2 15625 15625 0 15625 1233569418146
3 15625 15625 0 15625 1233571605761
Viz také
Memory-Optimized Dynamické pohledy na správu tabulek (Transact-SQL)