tikv内存超过block-cache设置的值

容器这块儿我不太熟,建议显式设置block-cache后再观察一下

现在已经设置了,就是设置以后没啥效果,来问一问啥情况

block-cache设置成5GB后,总内存最高应该会到7.5GB左右,也可能稍微会高一点,coprocessor有时候需要缓存数据

1赞

你的意思是说这个memory_limit的值加上block-cache的值是tikv使用总内存的值吗

说的不是一个同memory_limit,你发的这个是raft engine的配置,参考我之前提过的一个问题

:joy:

官文说的只需要设置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 我没用过不太了解了

你可以观察一段时间,你现在的业务量大吗?
有没有可能就是释放需要一个过程,业务量大的时候释放会更慢些呢

不会释放,我就算现在把业务停掉,内存不会下来,会一直停在那

那脱离K8S这个场景,当TIKV服务所在的物理机,被使用的内存达到物理机资源,且swap分区也被使用完毕,那么此时再有业务数据过来,TIKV是会OOM还是会拒绝数据流入,直接停止写入,等待内存释放呢

会被oomkiller杀掉

oom 然后继续被拉起进程

问一个问题: swap 不是关闭了吗? 你的swap 在时启用的?