GBase 8a集群启动日志报错express total heap size exceeds memory limit

最近在使用Gbase8a数据库集群,在集群不能启动,查看日志信息报错信息为:“express total heap size exceeds memory limit”,请问应该如何解决?谢谢!

原因是GBase 8a在启动时会检查当前内存是否可以满足内存分配要求,如果不满足则报这个错误。一般常见于内存很小的场景,以及已经有其它大量占用内存的程序在运行的情况。解决方案包括扩大内存、减少数据库内存参数以及杀掉其它占用内存的进程等。

默认内存检测公式

gbase_heap_data + gbase_heap_temp + gbase_heap_large + gbase_buffer_insert <= (物理内存+swap空间) * gbase_memory_pct_target

其中gbase_memory_pct_target默认值是0.8,也就是80%

而内存不足的可能性

1、有其它进程占用了内存。 特别是一些java程序。

2、内存检测依赖操作系统,有可能不准

解决方案

1、清理其它占用内存的程序,不要部署在数据库节点上。

2、或者人工减少数据库的启动内存参数,

gbase_heap_data
gbase_heap_temp
gbase_heap_large