tidb执行一条大查询时候出现 Lost connetcion to MySQL server during query

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:3.0.8
  • 【问题描述】:tidb执行一条大查询时候,出现 Lost connetcion to MySQL server during query
    执行这条查询时候,该节点的tidb-server出现内存飙升

疑问:是否和max_allow_packet参数有关?

tidb01

tidb02

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。

您好:
1. 请检查tidb.log日志里是否有OOM,导致tidb重启
2. 请检查是否配置了cancel参数,当超过一定内存后,sql取消,也是检测tidb.log
https://pingcap.com/docs-cn/stable/reference/configuration/tidb-server/configuration-file/#oom-action

您好 tidb.log已看过

1)oom-action配置的是log非cancel

2)该查询导致tidb-server重启了,但是什么机制触发tidb-server节点重启?oom?但是 该节点内存并没有打满,执行查询时候还有5%内存可用

  1. 执行dmesg查看那个时间点,tidb-server进程是否OOM重启
  2. 如果dmesg没有记录,可以查看/var/log/message下面的信息,看看当时什么原因导致的重启
  3. 如果是OOM这种问题,可以配置oom-action cancel 来取消大sql导致的OOM,但是sql运行失败。 或者调优sql,降低内存占用; 或者增大tidb 内存。
1 个赞

感谢解答,经查看是oom-killer把tidb-server杀死了

:handshake:

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