【 TiDB 使用环境】生产环境
【 TiDB 版本】5.0.4
【遇到的问题:问题现象及影响】
TiDB oom 记录到临时文件的 running.sql 和慢查询的sql中内存存在较大差距.
running.sql中最大内存10G+
##
mem_max: 11538442372 Bytes (10.7 GB)
OOM之间同一查询内存消耗20G+
请问:
-
OOM记录的sql按照哪些标准选择的top 10?
-
running.sql文件的 max_mem和 慢查询的max_mem 是占用tidb的内存还是占用tikv内存?
-
数据库内存分布如下图有很多尖峰,请问tidb-server如何管理内存的?
你什么版本也没写 6.5 和之前5.4的内存管理不一样。 一般我们是限制单个sql执行数量
老版本5.0.4。
近期出现oom事故,需要仔细调研tidb内存管理。
你截图是tidbserver的监控么,tikv的内存监控看下
25个TiKV所以,tikv性能还ok。没发现大量内存抖动情况。
5.0是有大量oom的 主要还是开发sql写的不合理。你配置一下限制就能解决 max_execation_time
https://docs.pingcap.com/zh/tidb/stable/configure-memory-usage 具体看这个文档
oom是大家一起死 tidb server 停机重启,你配置了限制是引起大内存占用的sql 无法执行。后续通知开发修改 差异在这里
tikv是不会oom的内存瓶颈在tidb的服务器上你加大tidb的内存也能缓解
buddyyuan
(Buddyyuan)
13
把并发限一限,再把 tidb_enable_rate_limit_action
设置成 false 试试看看。
你这个sql长的什么样的?
buddyyuan
(Buddyyuan)
15
数据库内存分布如下图有很多尖峰,请问tidb-server如何管理内存的?
可以看下 tidb_enable_rate_limit_action
变量的解释,是一种流控措施。
1 个赞
system
(system)
关闭
17
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。