gc-threshold代表啥意思

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.1.2
【复现路径】
【遇到的问题:问题现象及影响】

请问grafana的监控 “ienjoys-tidb-prod / ienjoys-tidb-prod-TiDB-Runtime” 下的gc-threshold指标代表啥意思?是什么操作的gc?

【附件:截图/日志/监控】

在 Grafana 监控中,“ienjoys-tidb-prod / ienjoys-tidb-prod-TiDB-Runtime” 下的 gc-threshold 指标代表 TiDB 的 GC 阈值。

GC(Garbage Collection)是 TiDB 中的一项重要操作,用于清理无效的数据和释放存储空间。GC 会删除已经过期或被标记为删除的数据,并回收相应的存储空间,以保持数据库的整洁和高效。

gc-threshold 指标表示 TiDB 的 GC 阈值。GC 阈值是指当 TiDB 中的数据版本数量达到一定阈值时,触发 GC 操作的条件。当数据版本数量超过 GC 阈值时,GC 会被触发,执行相应的清理操作。

GC 的具体操作包括两个阶段:Resolve Locks 和 TiKV Auto GC。Resolve Locks 阶段用于解决锁定的事务,而 TiKV Auto GC 阶段则是实际的数据清理操作。

通过监控 gc-threshold 指标,您可以了解 TiDB 中的 GC 阈值情况,以及是否需要进行 GC 操作来清理无效的数据和释放存储空间。

2 个赞

gc-threshold 指标代表 TiDB 的 GC 阈值。

gc-threshold的数值较小,可能会加重垃圾回收的负担,影响系统性能。

1 个赞

内存垃圾回收

gc阈值

请问为啥GC会影响tidb server这个组件的内存,gc不是在tikv组件完成的吗?

图表下面有取值说明

一个 TiDB 集群中会有一个 TiDB 实例被选举为 GC leader,GC 的运行由 GC leader 来控制。

https://docs.pingcap.com/zh/tidb/stable/garbage-collection-overview#整体流程

1 个赞

大神,我的意思是tidb server组件为啥会有GC操作?垃圾回收不是tikv的事吗?

:flushed:上面文档里描述,GC操作是TiDB组件控制的,TiDB组件记录GC的阈值是正常的。实际执行是在tikv中进行的,但管控是在TiDB组件中完成的。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。