【 TiDB 使用环境】测试
【 TiDB 版本】6.5
【复现路径】TIKV占用内存过高
【遇到的问题:问题现象及影响】
我们公司虚出一台服务器,开始是32G内存,运行一段时间后内存被TIKV占满,然后导致服务器卡死,监控都监测不到内容了,如图TIKV Memory Usage可以看到折线图出现的中断,之后增加内存到50G但是发现是水涨船高,依旧被占满,然后我用tiup cluster edit-config 的方式修改了memory-usage-high-water: 0.3,storage.block-cache.capacity: 2G如图,然后tiup cluster reload,但是过段时间后内存又要被占满,请问如何限制住tikv的内存。
你这个是多组件部署在一台机器了吧,单节点部署还要考虑tidb server,pd,监控等,要做合理规划分配
资源有限,我们这个不过是给开发过程中用的,不会出现高并发之类的,难道咱们tidb就不能在一台机器上有什么内存资源的限制的相关配置吗?
出现oom的情况,把grpc-memory-pool-quota这个参数调整下吧
https://docs.pingcap.com/zh/tidb/stable/tune-tikv-memory-performance#tikv-内存参数性能调优
看看这个文章
tidb的底层是rocksdb,有4个cf,每个cf都有memtable(等于write-buffer-size*max-write-buffer-number),还有blockcache(对应[storage.block-cache]),这些都调整的小点。内存就小了。
1 个赞
storage.block-cache.capacity: 15G
下图是配置位置