ticdc节点内存报警

ticdc两个节点内存缓慢上涨,过几天就要重启一次,释放内存;特别是上游在批量删表的时候上涨明显(业务需要,会定期创建,删除几千张表)。tidb版本:5.2.3














有参数可以限制cdc节点内存使用吗

查下内存是被那个同步任务占用了…
有没有异常…

怎么看,怎么处理呢

对着指标看

https://docs.pingcap.com/zh/tidb/stable/monitor-ticdc

2 个赞

指定该 Changefeed 在 Capture Server 中内存配额的上限。对于超额使用部分,
会在运行中被 Go runtime 优先回收。默认值为 1073741824,即 1 GB。
memory-quota = 1073741824

https://docs.pingcap.com/zh/tidb/stable/ticdc-changefeed-config#ticdc-changefeed-配置文件说明

1 个赞

5.2.3好像没有这个参数呢

你可以尝试调整–sorter-max-memory-consumption参数限制ticdc使用的内存大小试试,以避免过高的内存占用。
而且尽量避免一次性删除过多的表。可以考虑将删除表的操作分批进行,以减少对ticdc内存的压力

没找到这个参数呢,有wiki吗

抱歉没有注意到版本,是否可以参照这个处理?
https://docs.pingcap.com/zh/tidb/v5.1/troubleshoot-ticdc#同步任务中断尝试再次启动后-ticdc-发生-oom应该如何处理

1 个赞

这里的resource_control是否可以?

resource_control:
memory_limit: “2G”

resource_control:运行时资源控制,该字段下所有配置都将写入 systemd 的 service 文件中,默认无限制。支持控制的资源如下:
1、memory_limit: 限制运行时最大内存,例如 “2G” 表示最多使用 2GB 内存
2、cpu_quota:限制运行时最大 CPU 占用率,例如 “200%”
3、io_read_bandwidth_max:读磁盘 I/O 的最大带宽,例如:“/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 100M”
4、io_write_bandwidth_max:写磁盘 I/O 的最大带宽,例如:“/dev/disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0 100M”
5、limit_core:控制 core dump 的大小

https://docs.pingcap.com/zh/tidb/v5.1/tiup-cluster-topology-reference#cdc_servers

1 个赞

我也记不清是不是该参数了,你可以到系统环境变量中查看下和ticdc内存相关的参数,然后试试https://docs.pingcap.com/zh/tidb/stable/system-variables

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