丫头吖88
(丫头吖88)
2020 年7 月 15 日 04:24
1
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【TiDB 版本】:TiDB-v3.1.0
【问题描述】:select语句查询时报[Err] Out of memory
我的服务器的性能:四台服务器,配置一样,都是16C,内存256g,硬盘是SSD,四块,容量是960G*4。一台复用TIDB-server和PD,一台复用PD和TIKV,剩下两台纯TIKV。每个TIKV上是2个实例,共6个实例。我安装的时候配置的每个TIKV的capacity: “64GB”。
若提问为性能优化、故障排查 类问题,请下载脚本 运行。终端输出打印结果,请务必全选 并复制粘贴上传。
来了老弟
2020 年7 月 15 日 06:53
2
sql 执行消耗的内存太大,oom 了,分页查询看下,tidb-server 会将查询的结果都缓存在内存中的
来了老弟
2020 年7 月 15 日 07:54
7
来了老弟
2020 年7 月 15 日 08:05
9
看下 tidb 监控中
此两项的值,
另外请问当前有多少个 tidb-server 呢?是如何修改这个参数的呢?
来了老弟
2020 年7 月 15 日 08:55
11
目前是通过什么方式部署的呢,看着像是参数并没有生效,请问是如何修改参数的呢
丫头吖88
(丫头吖88)
2020 年7 月 15 日 08:59
12
TiDB Ansible部署的,这个参数我没修改,我是TiDB-v3.1.0版本,默认就是32g的
丫头吖88
(丫头吖88)
2020 年7 月 16 日 01:25
14
这个只是改时间,和sql执行的内存没关系吧。我现在的问题是,sql执行out of memory,但是这个执行的过程占用的内存才接近1G,我sql内存的阈值是32g,为啥会溢出呢?
来了老弟
2020 年7 月 16 日 02:23
15
该 log 会记录运行超时、或使用内存超过阈值 的 SQL。
先调整下,执行此 sql 看是否还是会出现这个问题。
PS:建议将集群升级到 v4.0.2,v3.1 的功能在 4.x 有很好的优化。
丫头吖88
(丫头吖88)
2020 年7 月 16 日 05:35
19
来了老弟
2020 年7 月 16 日 08:03
20
建议更改下上游 mysql 中的字符集类型为 utf8mb4/utf8
否则到下游会乱码。
丫头吖88:
改过了,问题依然存在,请帮忙看一下,谢谢。
请反馈下执行 select 时间点的 tidb.log 上下文 20 行。