【 TiDB 使用环境】生产环境
【 TiDB 版本】8.5.1
【复现路径】
【遇到的问题:问题现象及影响】tidb的tidb_mem_quota_query已经设置大概8G,且tidb_mem_oom_action的值为CANCEL。为啥集群里,单个查询sql,还是能达到18.2G哇 ![]()

最后一张图,不是;倒数第二张图,是单条sql的,18.2G
查询全局参数看看设置的是多少?不带global是查的会话参数。
好像确实有些场景限制不住,可以考虑估计再做个监控,对遗漏的sql进行捕杀
看看这两个执行一样么?
SELECT @@GLOBAL.tidb_mem_quota_query;
SELECT @@SESSION.tidb_mem_quota_query;
那应该不是这里的原因。
捞一下帖子
查查日志,看看有没有和内存相关的错误
实在不行,重启下应该有帮助(重启后再看看值有没有变化)
tidb_enable_rate_limit_action
该变量在单条查询仅涉及读数据的情况下,对内存控制效果较好。若还存在额外的计算操作(如连接、聚合等),打开该变量可能会导致内存不受 tidb_mem_quota_query 控制,加剧 OOM 风险。
https://docs.pingcap.com/zh/tidb/v7.5/troubleshoot-tidb-oom/
oom帮助里,提了下这个变量的问题
这个sql是走tikv还是tiflash
这个sql是个联合查询,关联了好几张表,有一张表是tiflash,其余表都是tikv
版本吗
执行计划被优化了吧







