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