为什么tidb_server_memory_limit参数限制不住内存的使用?

【TiDB 使用环境】生产环境 /测试/ Poc
一个tidb节点总内存32G
SET GLOBAL tidb_server_memory_limit=‘70%’;
设置后内存使用量能达到26.7G

为什么没生效?

可以使用top看下是否tidb server进程占用了26.7GB?

我记得这不是一个硬限制,而是软限制,我这边设置的也是70%,但也会有SQL把tidb组件打的OOM的情况

这个和传统的mysql实例中的pool size是同样的功效吗?

是tidb节点的,在压测接口,每次压的都能把服务器打爆。参数限制不住

这种情景产生的原因是有部分计算算子的内存使用无法被统计,导致会用超。也就是说,tidb server 都没感知到自己实际用超了,所以也就没有限制住。
这边简历开启内存落盘功能,这样基本上就不会oom了

说错了,是建议,不是简历

可以根据这个调整下看看:https://docs.pingcap.com/zh/tidb/stable/configure-memory-usage/

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。