Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric
Geeft informatie over elke garbage collection worker-wachtrij op de server, en diverse statistieken over elk. Er is één wachtrij per logische CPU.
De hoofd-garbage collection-thread (de Idle-thread) houdt bijgewerkte, verwijderde en ingevoegde rijen bij voor alle transacties die sinds de laatste aanroep van de hoofd-garbage collection-thread zijn voltooid. Wanneer de garbage collection-thread ontwaakt, bepaalt deze of de tijdstempel van de oudste actieve transactie is veranderd. Als de oudste actieve transactie is veranderd, dan zet de idle-thread werkitems in de rij (in stukken van 16 rijen) voor transacties waarvan de schrijfsets niet langer nodig zijn. Als je bijvoorbeeld 1.024 rijen verwijdert, zie je uiteindelijk 64 garbage collection-werkitems in de wachtrij, elk met 16 verwijderde rijen. Nadat een gebruikerstransactie is gecommed, selecteert het alle genoteerde items in zijn scheduler. Als er geen gequeuede items op de scheduler staan, zal de gebruikerstransactie zoeken op elke wachtrij in de huidige NUMA-knoop.
Je kunt bepalen of garbage collection geheugen vrijmaakt voor verwijderde rijen door sys.dm_xtp_gc_queue_stats uit te voeren om te zien of het in de wachtrij geplaatste werk wordt verwerkt. Als de vermeldingen in de current_queue_depth niet worden verwerkt of als er geen nieuwe werkitems aan de current_queue_depth worden toegevoegd, is dit een aanwijzing dat garbage collection geen geheugen vrijmaakt. Bijvoorbeeld, garbage collection kan niet worden uitgevoerd als er een langdurige transactie is.
Zie In-Memory OLTP (In-Memory Optimization) voor meer informatie.
| Kolomnaam | Typologie | Description |
|---|---|---|
| queue_id | int | De unieke identificatie van de wachtrij. |
| total_enqueues | bigint | Het totale aantal garbage collection-werkitems dat sinds de start van de server in deze wachtrij is geplaatst. |
| total_dequeues | bigint | Het totale aantal garbage collection-werkitems dat sinds de start van de server uit deze wachtrij is gehaald. |
| current_queue_depth | bigint | Het huidige aantal afvalinzamelingswerkitems dat op deze wachtrij aanwezig is. Dit item kan betekenen dat er één of meer afvalverzameling nodig zijn. |
| maximum_queue_depth | bigint | De maximale diepgang die deze wachtrij heeft gekend. |
| last_service_ticks | bigint | CPU-ticks op het moment dat de wachtrij voor het laatst werd onderhouden. |
Permissions
Vereist toestemming VIEW SERVER STATE.
Machtigingen voor SQL Server 2022 en hoger
Vereist de machtiging PRESTATIESTATUS VAN DE WEERGAVESERVER op de server.
Gebruikersscenario
Deze output toont aan dat SQL Server ofwel op 4 cores draait of dat de SQL Server-instantie is affinitized naar 4 cores:
Deze output toont aan dat er geen werkitems in de wachtrijen zijn om te verwerken. Voor wachtrij 0 zijn de totale werkitems die sinds SQL Startup zijn verwijderd 15625 en de maximale wachtrijdiepte is 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
Zie ook
Memory-Optimized Dynamische Beheerweergaven van tabellen (Transact-SQL)