Freigeben über


sys.dm_xtp_gc_queue_stats (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL verwaltete Instanz

Gibt Informationen über jede Garbage Collection-Arbeitsthreadwarteschlange auf dem Server sowie verschiedene Statistiken zu diesen Warteschlangen aus. Pro logische CPU ist eine Warteschlange vorhanden.

Der Garbage Collection-Hauptthread (Leerlaufthread) verfolgt aktualisierte, gelöschte und eingefügte Zeilen für alle Transaktionen nach, die seit dem letzten Aufruf des Garbage Collection-Hauptthreads abgeschlossen wurden. Sobald er aktiviert wird, überprüft der Garbage Collection-Thread, ob der Zeitstempel der ältesten aktiven Transaktion geändert wurde. Wenn die älteste aktive Transaktion geändert wurde, reiht der Leerlaufthread Arbeitselemente für Transaktionen, deren Schreibmengen nicht mehr benötigt werden, (in Segmenten von 16 Zeilen) in die Warteschlange ein. Wenn Sie z. B. 1.024 Zeilen löschen, enthält die Warteschlange schließlich 64 Garbage Collection-Arbeitselemente mit jeweils 16 gelöschten Zeilen. Nachdem für eine Benutzertransaktion ein Commit ausgeführt wurde, werden alle im zugehörigen Zeitplanungsmodul in die Warteschlange eingereihten Arbeitsaufgaben ausgewählt. Wenn die Warteschlange im Zeitplanungsmodul keine Arbeitsaufgaben enthält, werden von der Benutzertransaktion alle Warteschlangen im aktuellen NUMA-Knoten durchsucht.

Sie können feststellen, ob Arbeitsspeicher für gelöschte Zeilen durch die Garbage Collection freigegeben wird, indem Sie sys.dm_xtp_gc_queue_stats ausführen und überprüfen, ob die Arbeitsaufgaben in der Warteschlange verarbeitet werden. Wenn Einträge in der current_queue_depth nicht verarbeitet werden oder keine neuen Arbeitsaufgaben zum current_queue_depth hinzugefügt werden, ist dies ein Hinweis darauf, dass die Garbage Collection keinen Arbeitsspeicher freigibt. Die Garbage Collection kann z. B. nicht ausgeführt werden, wenn eine lange ausgeführte Transaktion vorhanden ist.

Weitere Informationen finden Sie unter In-Memory OLTP (Speicheroptimierung).

Spaltenname type Beschreibung
queue_id int Der eindeutige Bezeichner der Warteschlange.
total_enqueues bigint Die Gesamtanzahl von Arbeitselementen der Garbage Collection, die seit dem Start des Servers in die Warteschlange eingereiht wurden.
total_dequeues bigint Die Gesamtanzahl von Arbeitselementen der Garbage Collection, die seit dem Start des Servers aus der Warteschlange entfernt wurden.
current_queue_depth bigint Die aktuelle Anzahl von Arbeitselementen der Garbage Collection, die in dieser Warteschlange vorhanden sind. Dieses Element bedeutet möglicherweise, dass eine oder mehrere Garbage Collections durchgeführt werden sollen.
maximum_queue_depth bigint Die maximale Tiefe, die diese Warteschlange aufgewiesen hat.
last_service_ticks bigint CPU-Takte zu dem Zeitpunkt, als die Warteschlange zuletzt aktiv war.

Berechtigungen

Erfordert die VIEW SERVER STATE-Berechtigung.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Benutzerszenario

Diese Ausgabe zeigt, dass SQL Server entweder auf 4 Kernen ausgeführt wird, oder die SQL Server-Instanz wurde zu vier Kernen affinitiert:

Diese Ausgabe veranschaulicht, dass in den Warteschlangen keine zu verarbeitenden Arbeitselemente enthalten sind. Bei Warteschlange 0 beträgt die Gesamtarbeitselemente, die seit dem SQL-Start in die Warteschlange verschoben wurden, 15625, und die maximale Warteschlangentiefe beträgt 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  

Weitere Informationen

Speicheroptimierte Tabellen-Dynamische Verwaltungsansichten (Transact-SQL)