【 TiDB 使用环境`】生产环境
【 TiDB 版本】5.4
【遇到的问题】tikv内存高居不下,是还有别的参数吗
【复现路径】无
【问题现象及影响】
tikv内存一直不释放导致集群资源不够用
【附件】
TiKV内存使用一般就是storage.block-cache.capacity加上2.5GB,这2.5GB是memtable占用的内存大小
https://docs.pingcap.com/zh/tidb/stable/rocksdb-overview#rocksdb-的内存占用
服务器上只有一个TiKV实例吗?从监控上看之前Block cache size是多大值呢?如果担心TiKV进程过度使用内存,还可以用resource_control中的memory_limit来限制它的总内存使用上限
https://docs.pingcap.com/zh/tidb/stable/tiup-cluster-topology-reference#global
容器这块儿我不太熟,建议显式设置block-cache后再观察一下
现在已经设置了,就是设置以后没啥效果,来问一问啥情况
block-cache设置成5GB后,总内存最高应该会到7.5GB左右,也可能稍微会高一点,coprocessor有时候需要缓存数据
你的意思是说这个memory_limit的值加上block-cache的值是tikv使用总内存的值吗
说的不是一个同memory_limit,你发的这个是raft engine的配置,参考我之前提过的一个问题
官文说的只需要设置storage这个共享参数就可以,但是现在设置了,没用内存总量超过了设置的值,我就想知道为啥会超过?
你目前tikv 节点的内存使用高, 我觉得相关的内存配置参数都可以检查一些
![|450x249](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml9604\wps4.jpg)
![|553x105](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml9604\wps5.jpg)
![|553x161](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml9604\wps6.jpg)
你可以参考: https://docs.pingcap.com/zh/tidb/stable/tune-tikv-memory-performance#tikv-内存参数性能调优
就是根据你发的链接操作的,没有执行sql语句,只执行插入操作
搭楼问一下,这个需预留一些内存作为系统的 page cache,是TIDB根据系统情况自主设置,还是在配置文件里面有默认的配置,如果是配置文件里,那么是否可以进行修改?
这个 应该就是tikv 所有内存配置之和 小于系统总内存,剩余那部分就给操作系统使用,
如果是在K8S集群的场景下,我限制了TIKV所在POD的内存资源,比如10G,那么当这个POD的内存占用到达10G时,TIKV服务会怎样呢?后续再产生的数据,会怎么处理呢?
k8s 我没用过不太了解了
你可以观察一段时间,你现在的业务量大吗?
有没有可能就是释放需要一个过程,业务量大的时候释放会更慢些呢