报错 Cache Engine OOM 如何解决

运行时报错:"SYSTEM_Runtime" : "ChunkCacheEngine is out of memory, possibly due to a transaction that tries to write data larger than the available memory."

请问这应该如何解决?

请先 登录 后评论

1 个回答

veryOrdinary

ChunkCacheEngine 是 OLAP 引擎 Cache Engine 的配置参数,这句话表明 OLAP Cache Engine 的内存大小不够了。您可以调用函数 getOLAPCacheEngineSize 查看 OLAP Cache Engine 的内存情况。

因此若需要成功写入,您需要:

1. 减小一次写入的数据量:如果需要将大文本文件加载到 DolphinDB, 可以使用 textChunkDS 函数将文本文件划分为多个小文件数据源,再通过 mr 函数写入到数据库中。

2. 回收下 Cache Engine:调用 flushOLAPCache() 将 OLAP Cache Engine 的数据强制刷入操作系统。

3. 增大 Cache Engine 的大小:可以调用 setOLAPCacheEngineSize 在线增大 OLAP Cache Engine 的容量,需要注意同时修改配置项 OLAPCacheEngineSize,否则重启后在线修改的容量会失效。

若为集群场景,须在上述函数调用时,使用 pnodeRun 函数包裹。

请先 登录 后评论