我在16GB内存的Linux机器上运行neo4j 3.2.1,但是每次堆内存出现错误都会出现问题。
在文档中,我们有:
实际操作系统分配=可用内存 - (页面缓存+堆大小)
这是否意味着如果我们为我的机器配置它(例如堆为16g,页面缓存为16g),那么分配将为0,从而引发问题?
有人能告诉我如何继续使用最佳配置来探索机器的更多容量而不必再次面对堆错误吗?
答案 0 :(得分:3)
在您的示例中,您尝试将所有RAM分配给页面缓存,并将所有RAM分配给堆。这是不可能的。可用的RAM必须在操作系统,页面缓存和堆之间进行划分。
performance documentation显示了如何划分RAM。
作为第一遍,您可以尝试这种分配(给定16 GB的RAM):
这将为操作系统留下(16GB - (7GB + 8GB))
或1 GB。
但是你应该阅读文档来微调你的分配。