- 【TiDB 版本】:4.0.5
- 【问题描述】:
该tikv节点同时安装了一个 tiflash,在进行数据同步时,该tikv节点进行间断性重启,严重影响线上的写入,
(upload://uLCGjVEGBROF0IgFJEMxJIzT9Sc.log) (304.1 KB) 7p4oc6Z6QXl3V.png)
- 麻烦在 /var/log/messages 中 grep -i ‘out of memory’ 看下是否有 OOM 导致重启的情况
- 可以的话,麻烦上传一下 tikv.log 日志文件我们看下
- 请问 pd 日志中有类似 alloc timestamp failed, lease expired 的日志么
- 麻烦在 /var/log/messages 中 grep -i ‘out of memory’ 看下是否有 OOM 导致重启的情况
是数据同步到tiflash引起的吗?
可以调整一下 tikv 的 block cache 参数值,限制一下 tikv 进程使用的内存
目前机器的配置是怎么样?可以考虑 tiflash 单独部署吗?
机器内存是56G, tikv 的 block cache 参数值设置多少好? 目前机器资源紧张,暂时无法单独部署tiflash
目前 TiKV 的内存占用包括 block cache, region 元信息,聚合下推等使用的一些内存,目前的话可以控制的是 block cache 这块,默认会被设置为机器内存的 45% ,可以考虑设置为机器内存/2*0.45 。另外的 region 元信息这个内存占用与 region 数量有关系,聚合下推会与请求量有关系,这几块的内存不好限制。
关于 TiFlash 的内存控制可以调一下以下参数,可以先限制小一些
[profiles.default]
dt_enable_logical_split = true # 存储引擎的 segment 分裂是否使用逻辑分裂。使用逻辑分裂可以减小写放大,提高写入速度,但是会造成一定的空间浪费。默认为 true
max_memory_usage = 10000000000 # 单次 coprocessor 查询过程中,对中间数据的内存限制,单位为 byte,默认为 10000000000。如果设置为 0 表示不限制
max_memory_usage_for_all_queries = 0 # 所有查询过程中,对中间数据的内存限制,单位为 byte,默认为 0,表示不限制
好的,我调整下再观察一段时间看看
多谢,有问题再继续反馈
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。