sys.dm_xtp_gc_stats (Transact-SQL)

提供有关 内存中 OLTP 垃圾回收进程的当前行为的信息(总体统计信息)。

行在常规事务处理过程中或是由主垃圾回收线程(称为空闲工作线程)进行垃圾回收。 当用户事务提交时,它会从垃圾回收队列中取消对一个工作项的排队 (sys.dm_xtp_gc_queue_stats (Transact-SQL))。 可以进行垃圾回收但是未由主用户事务访问的任何行都在灰尘角扫描(针对较少访问的索引区域的扫描)过程中由空闲工作线程进行垃圾回收。

有关详细信息,请参阅内存中 OLTP(内存中优化)

适用于:SQL Server(SQL Server 2014 到当前版本)。

列名

类型

说明

rows_examined

bigint

自启动服务器以来垃圾回收子系统检查的行数。

rows_no_sweep_needed

bigint

已在未进行灰尘角扫描的情况下删除的行数。

rows_first_in_bucket

bigint

垃圾回收检查的作为哈希桶中第一行的行数。

rows_first_in_bucket_removed

bigint

垃圾回收检查的、已删除的、作为哈希桶中第一行的行数。

rows_marked_for_unlink

bigint

垃圾回收检查的在其索引中已标记为已取消链接且 ref count =0 的行数。

parallel_assist_count

bigint

用户事务处理的行数。

idle_worker_count

bigint

空闲工作线程处理的垃圾行数。

sweep_scans_started

bigint

垃圾回收子系统执行的灰尘角扫描数。

sweep_scans_retries

bigint

垃圾回收子系统执行的灰尘角扫描数。

sweep_rows_touched

bigint

灰尘角处理读取的行。

sweep_rows_expiring

bigint

灰尘角处理读取的即将到期的行。

sweep_rows_expired

bigint

灰尘角处理读取的过期行。

sweep_rows_expired_removed

bigint

灰尘角处理删除的过期行。

权限

要求对实例具有 VIEW SERVER STATE 权限。

使用方案

下面是示例输出:

rows_examined        rows_no_sweep_needed rows_first_in_bucket rows_first_in_bucket_removed
280085               209512               69905
rows_first_in_bucket_removed rows_marked_for_unlink parallel_assist_count idle_worker_count
69905                        0                      8953

idle_worker_count    sweep_scans_started  sweep_scan_retries   sweep_rows_touched
10306473             670                  0                    1343

sweep_rows_expiring  sweep_rows_expired   sweep_rows_expired_removed
               0                 673673

请参阅

概念

内存优化表动态管理视图 (Transact-SQL)