tidb-server其中一台的内存占用很高,cpu也很高,该如何排查

机器配置是不是一样的?还有各个节点连接数看看。

看截图估计你这就是请求不均衡导致的。


看连接数基本都是比较一致的,重启了有问题的,现在转到另一台在持续升高了

debug.zip (5.0 MB)
可以,发了,我感觉是要加并发数,把任务快点跑完 :joy:不然这历史数据都不知道删到什么时候忙,删完后再观察

看 50+% 的 cpu 是在 gogc 上,感觉是在频繁的回收内存。
但是你 processlist 也看不到有什么业务直连,而且你重启之后 cpu 会飘。
如果觉得和 ttl 有关,看了下有相关监控可以看:https://docs.pingcap.com/zh/tidb/stable/grafana-tidb-dashboard#ttl

你可以看看

上述内存火焰图和https://github.com/pingcap/tidb/issues/56934 高度相似, 基本能确定你这个是遇到了内存泄露的 bug ,只要持续运行 TTL ,就会导致内存一直增加,cpu 增加是因为要一直做 gogc ,但是内存泄露,导致内存无法回收,恶性循环。
修复 PR 是 https://github.com/pingcap/tidb/pull/56950 。tidb 8.1.1 未包含该修复,可以等 8.1.2 发布。

2 个赞

好的,谢谢

好的,谢谢!

各位大佬谢谢了,停了TTL任务,内存不上涨了

1 个赞