tidb哪个版本可以限制指定sql的内存使用大小?

【 TiDB 使用环境】生产环境
【 TiDB 版本】v5.3.1
【复现路径】大sql导致的tidb oom问题
【遇到的问题:大sql导致的tidb oom问题,几个tidb一直循环重启】

1 个赞


你应该指的是这个全局内存管理功能吧,可以试试升级到6.5以后的版本, [tidb_mem_quota_query]这个参数应该就可以

1 个赞

tidb_mem_quota_query 这个参数好像从4版本就有了,只不多细节不一样,还是抓一下大sql,可以看dashboard top sql 和流量页面

v6.1.1 tidb_mem_quota_query 结合 tidb_mem_oom_action

https://docs.pingcap.com/zh/tidb/stable/system-variables#tidb_mem_quota_query

1 个赞

v6.1.1 tidb_mem_quota_query 结合 tidb_mem_oom_action

这个在6.1是session的,我觉得作用是不大的,6.5才是全局可控

最好进入6版本之后控制比较好点

感谢各位大佬的帮忙,计划升级版本中!

查询缓存么?这个配置mysql都淘汰了。


参考下这篇文章,最好是V6以上

不是,就是sql查询占用大量内存,要控制它的使用量,达到阈值,直接kill掉

tidb_mem_quota_query使用这个参数就可以设置, 从4.0版本就开始支持了
https://docs.pingcap.com/zh/tidb/v4.0/system-variables

4.0以后应该就都有了