java.lang.OutOfMemoryError: Requested array size exceeds VM limit

java.lang.OutOfMemoryError: Requested array size exceeds VM limit

我 运行 Neo4J 2.2.1 有 150G 堆 space 在一个有 240G 的盒子上。我将 neo4j.neostore.nodestore.dbms.pagecache.memory 设置为 60G(略低于建议的剩余系统内存的 75%)。但是,当我启动时出现系统无法启动的错误,因为我正在尝试分配一个大小超过最大允许大小的数组。

进一步测试表明是 node_cache_array_fractionrelationship_cache_array_faction 导致了问题。它应该默认为 1%。在 150G 堆上应该是 1.5G。但是,生成的数组大小太长。 明确设置 node_cache_sizerelationship_cache_size 似乎可以解决这个问题,尽管它远非理想。