tikv 节点oom导致自动重启

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】
11.12号下午19点左右,tikv节点出现重启现象,查看tikv节点相关日志未发现异常,查看系统日志发现


想问下,这个内存不会自动释放吗?

【 TiDB 版本】
【复现路径】做过哪些操作出现的问题

这两个内容写一下

版本信息:v6.1.1
做过哪些操作:基本没有业务操作,看了一下dashboard 面板出现问题的时间点都是一些内部SQL ,还有监控的SQL

tikv 的内存参数storage.block-cache.capacity 怎么配置的? 机器的内存多少? 是否多实例部署?

先按这排查下


这3台机器上面部署了4套集群


机器的配置

多实例部署,每个tikv 的内存设置 storage.block-cache.capacity = (MEM_TOTAL * 0.5 / TiKV 实例数量)

内存设置过大了,非常容易OOM

机器的内存是527517072 集群设置的是214078MiB ,这套集群是3台服务器组成,没台机器部署了一个TIKV 节点,这样说的话 这个内存设置是合理的,只是这3台服务器部署了4套集群,那这样说的话是 527517072 /0.5/4?

tikv 节点的内存设置过大? 但是tikv 日志没有显示oom 只有服务器的操作日志显示出来了OOM 了

就相当于一台服务器部署了4个tikv 的实例了,如果是这样的,tikv的内存的确设置的太大了。 操作系统的日志显示OOM可以确认这点

混合部署的相关参数设置 :https://docs.pingcap.com/zh/tidb/stable/hybrid-deployment-topology#混合部署的关键参数介绍

这个内存不会自动释放吗?

:thinking:3台机器四套集群,均衡混布的话,那每台服务器上有4个tikv节点呀,太多了吧。

内存是缓慢释放的,不是立即全部释放

那这样的话 也是分摊内存,存储啥的吧

可是每台服务器上的4个tikv节点因为不是一套集群的,肯定会存在资源争用的问题,资源不足时,linux的机制应该是随机kill :sweat_smile:


看监控这太有问题的就一直没有释放·············

这个监控应该是服务器内存,不是tidb内存占用。可以看看每个节点的内存占用,看看是什么原因导致的。也可能时遇到了GC的问题