【TiDB 使用环境】测试环境
【TiDB 版本】8.5.1
【部署方式】arm物理机
【操作系统/CPU 架构/芯片详情】麒麟v10sp3系统/飞腾 FT-2000
【机器部署详情】CPU64核/内存128G/磁盘4T,给tiflash分配了20G内存
【集群数据量】总量100条测试数据
【集群节点数】单节点
【问题复现路径】并发启动的sql大概有600个,数据库实际没多少数据
【遇到的问题:问题现象及影响】tiflash报错rss much larger than limit,具体报错信息见下图,导致数据库任何查询都无法使用,tifalsh内存改成40G也报这个错。top看tiflash实际RES内存占用不到10G,相关库表不启用tiflash则并发sql没问题。此现象在ARM环境毕现,相同的程序使用同级别的x86服务器上没问题。
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】
tiflash 安装了几台机器几个节点,配置是什么样的?
看上去是资源不够导致的
提交问题前我看到了这个文章,他是两个节点,他的方法就是加大tiflash内存分配,我从20G加到40G也报一样的错,我的x86服务器一样的程序和配置不报错,只有arm的环境必现
只装了一个节点,跟tidb、tikv、pd都在同一台arm物理机上,是飞腾2000cpu,32线程,128G内存,4T硬盘,给tifalsh分配的20G内存,给tifalsh调整到40G内存仍然报错,类似的配置在x86架构的服务器上相同压力从来不报错
修改 TiFlash 的配置文件(tiflash.toml),适配 ARM 架构的内存管理特性:
toml
# 核心内存限制配置(根据ARM节点物理内存调整)
[memory]
# 全局内存上限(建议设为物理内存的60%-70%,ARM需预留更多系统内存)
limit = 40GB # 64G物理内存建议40GB,避免挤占系统内存
# 内存超过limit时的触发阈值(默认90%,ARM下调至85%)
rss_over_limit_threshold = 0.85
# 内存超过阈值时的处理策略(kill表示终止超限查询,避免OOM)
rss_over_limit_action = "kill"
TiDB在tiflash方面确实有其优势,比如横向扩展能力。 技术交流让我们共同进步。
万仞听松
(Ti D Ber Ztf5y Jyk)
11
rss_over_limit_threshold = 0.85
rss_over_limit_action = “kill”
楼主可以试试改完这两个参数的效果
修改后tiflash起不来,报错不识别G字符,如下:
修改成字节配置如下,配置不生效,配置40G的字节,仍然报错限制是20G,具体配置如下:
[profiles]
[profiles.default]
max_threads = 36
#max_memory_usage = single_sql_mem
max_memory_usage_for_all_queries = 21474836480
cop_pool_size = 0
cop_pool_handle_limit = 0
cop_pool_max_queued_seconds = 15
batch_cop_pool_size = 0
manual_compact_pool_size = 1
enable_elastic_threadpool = true
dt_compression_method = “LZ4”
dt_compression_level = 1
dt_page_gc_threshold = 0.5
max_bytes_before_external_group_by = 0
max_bytes_before_external_sort = 0
max_bytes_before_external_join = 0
enable_resource_control = true
[memory]
limit = 42949672960
rss_over_limit_threshold = 0.85
rss_over_limit_action = “kill”
[security]
enable_memory_rss_check = false
试试这个参数有没有效,ARM的内存检测机制与X86的不太一样
在生产环境中,尽量避免在 ARM 物理机上单节点混合部署所有组件,建议将 TiFlash 独立部署,以获得更稳定的内存资源
关于tiflash,TiDB的处理方式是分布式事务处理,这点与其他数据库有所不同。 如果还有其他问题,欢迎提出。