原因:
GBase 8a数据库集群在启动时,会从操作系统分配足够的物理内存,默认值是物理内存的60%,连续的。如不足,则报这个错误。一般是因为有其它程序使用了内存,特别是一些java程序。
解决方案
1、关闭其它占用内存的服务,或者reboot一下。
数据库一旦启动后,就不再检查这个了,而是按照参数进行动态计算最大值(gbase_memory_pct_target)。所以,如果此时内存被其它程序占用,将会使用到SWAP。
2、人工降低数据库的启动内存(确认肯定有其它程序必须占用内存时),涉及如下三个参数
gbase_heap_data
gbase_heap_temp
gbase_heap_large
以及最大内存占用参数
gbase_memory_pct_target
其默认值,是按照如下工时评估的。物理内存的60%,按照6:3:1的比例。比如内存100G, 60%是60G, 那么这3个参数默认是
gbase_heap_data=60G*0.6=36G
gbase_heap_temp=60G*0.3=18G
gbase_heap_large=60G*0.1=6G
可以按比例减少,其中data可以优先,因为其默认比例最大。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




