tikv cdc memory持续增长,无cdc任务,如何释放cdc memory

【 TiDB 使用环境】生产环境
【 TiDB 版本】 v6.1.1
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
1、tikv节点使用的内存持续增加,参照 文档( TiKV主要内存结构和OOM排查总结 - TiDB 社区技术月刊 | TiDB Books )进行排查,发现是 Tikv的CDC memory占用了50GB内存,且持续增长
内存相关配置:
服务器内存:256.9 GiB
storage.block-cache.capacity :180GiB
cdc.sink-memory-quota: 512MB
2、当前集群无cdc任务,因此缩容了cdc节点 ,但cdc memory这一部分的内容仍未释放,且还在持续增长

请问:
1、缩容cdc节点后,内存仍然持续增长,该怎么释放内存
2、为什么只是安装了cdc组件,但是并没有创建ticdc任务,内存还是会持续增长
3、cdc.sink-memory-quota: 512MB 该配置似乎没有生效

【资源配置】

服务器内存:
image

cdc memory 内存趋势:
image
image

升级,cdc 早期是有内存使用过多问题。

可能是TiKV在生成变更日志时候产生的吧

升级最新的cdc,比较稳

短期是否有释放的方法?只能重启吗

重启是一种办法。

另外发现CDC memory这个指标的表达式是:
看上去是tikv的内存-block cache,这个是否不太合理,还会干扰问题排查
(avg(process_resident_memory_bytes{k8s_cluster=“$k8s_cluster”, tidb_cluster=“$tidb_cluster”, instance=~“$tikv_instance”, job=~“tikv.*”}) by (instance)) - (avg(tikv_engine_block_cache_size_bytes{k8s_cluster=“$k8s_cluster”, tidb_cluster=“$tidb_cluster”, instance=~“$tikv_instance”, db=“kv”}) by(instance))


我看新版本公式挺 OK 的🤔。

2 个赞

重启或者升级

升级比较稳

升级到最新版本,老版本有bug

升一下版本

升级吧

我都是轮流重启cdc节点释放内存的,还有啥好办法吗

看着像是中了6.1的bug。升到6.5应该就好了

升级后看上去没有变,v 7.5.1 ,且又两个tikv-{{instance}}的指标 :sweat_smile:

你这个也太高了吧,我搭的内存消耗不到1G
image

重启或升级

生产环境的 block cache配了有180G

升级还是没解决