OOM

【 TiDB 使用环境】生产环境
【 TiDB 版本】 6.1.0
【复现路径】 报表导出,tidb_server发生 OOM

除了调整SQL,还有没有其他办法能防止OOM发生啊

加点虚拟内存会不会有效果,又害怕机器卡死连不上

限制tidb_server总的内存大小没效果

看下日志里面expensive 语句有没有可优化的

是不是内存太小了

32C96G,三台TIDB_SERVER
32C64G ,三台TIKV

1.优化sql 分批导出。
2. 配置tidb_mem-quota-query 和tidb_mem-quota-concurrency 限制单个查询和并发操作的内存使用
3.滚动重启tidbsever

在tidb没有OOM的情况下,程序连接报 reset ,与 TIDB有关吗

大sql 只能拆分

[2024/04/04 03:48:07.837 +08:00] [Error] [terror.go:307] [“encountered error”] [error=“write tcp 10.251.82.17:4000->10.255.11.4:4674: write: connection reset by peer”] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/build-

这个reset 会是什么原因啊

推荐看下这个先,

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-tidb-oom#tidb-oom-故障排查

1 个赞

内存太小了,加到10G以上

优化sql了,或者扩内存

升级版本,对 OOM 的治理有较好的体验,起码升到 6.1.7…

有机会最好升到 6.5.x

6.1.0好像对oom确实处理一般,建议可以升级到6.1.7,如果暂时不能升级,
就设置tidb_mem_quota_query参数,搭配 tidb_mem_oom_action使用
或者将报表对应的大表增加tiflash副本,尽量让报表类的需求走到tiflash上, 防止tidb内存占用过多

write: connection reset by peer
这个不应该是网络问题么?
10.251.82.17:4000->10.255.11.4:4674
这两个地址之间能通不?