Tiflash 内存溢出

【 TiDB 使用环境】生产环境
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
我有个SQL,偶尔会报Tiflash内存溢出,正常消耗内存不到100G,但是偶尔会报错如下:
是什么原因呢,像这种自己执行不报错,晚上定时偶尔报错,在哪能看到当时执行失败的SQL的执行计划呢

 ["virtual DB::SharedQueryBlockInputStream::~SharedQueryBlockInputStream(): Code: 0, e.displayText() = DB::Exception: Memory limit (total) exceeded caused by 'out of memory quota for data computing' : would use 249.51 GiB for data computing (attempt to allocate chunk of 1614458 bytes), limit of memory for data computing: 226.57 GiB, e.what() = DB::Exception, Stack trace:\n\n\n       0x1bfe42e\tDB::Exception::Exception(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, int) [tiflash+29353006]\n                \tdbms/src/Common/Exception.h:46\n   

【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

你都知道是哪个 SQL 了,可以分析下看看

这明显是内存不足了
would use 249.51 GiB for data computing (attempt to allocate chunk of 1614458 bytes), limit of memory for data computing: 226.57 GiB

1 个赞

是不是并发执行了啊

之前有人报告过类似的问题,单个跑不报错,是因为没有并发。

https://docs.pingcap.com/zh/tidb/stable/tiflash-spill-disk

还是考虑使用落盘来解决这个问题。