drainer服务 莫名内存占有率95%,重启之后一会就又成了95%

  • 【TiDB 版本】:3.0.0
  • 【问题描述】:昨天drainer修改
    image
    今天继续又百分之95.,挂掉之后过一会自己就会重新启动

    这是pd的日志。

    这是drainer的日志。
    drainer是什么工作原理, 为什么会占用这么多内存了,是gc没有来得及处理内存里面的旧数据吗?

麻烦把 drainer 启动时完整的日志上传一下,最好是文本,多谢

drainer.txt (2.8 KB)
这是我刚刚启动的日志

  1. 确认下 drainer 服务器空闲内存并上传下,
  2. 文本文件中并无报错,请再核实下。

参考这个帖子看是否可以解决

drainer服务器内存就是随着drainer重启直线上升到95左右,然后退出,再次重启

我在想这个drainer他的工作原理是什么了?内存里面放的是什么数据?

drainer 启动时,会从 TiKV 处查询截至当前时间所有已完成的 DDL Job 记录,按 SchemaVersion 升序排序。所以会占用较大内存,

binlog 源码阅读可以看下具体的代码实现:

辛苦检查下当前服务器是否满足文档中对于 binlog 服务器的配置要求

好的,估计是我们昨天执行了大量DDL导致的,我们目前把txn-batch和worker-count调到了默认值的二倍,这样出的快了,等出完这一批数据,严格控制DDL数量

ok,该值可以根据服务器状态来进行调整

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