在使用Java嵌入式Neo4j时,如何将堆的大小增加到2 GB以上?
我尝试使用将其增加到4 GB
GraphDatabaseService graphDb = new GraphDatabaseFactory()
.newEmbeddedDatabaseBuilder(new File("C:\\...\\graph.db"))
.setConfig(GraphDatabaseSettings.pagecache_memory, "4096M")
.newGraphDatabase();
如manual中所述,但这似乎对堆的大小没有影响,例如
最大值:2,124,414,976 B,如下图所示。
详细信息
在进行uniform cost search或费用最低的优先搜索时,需要保留
在使用嵌入Java的Neo4j时,应用程序以
结尾java.lang.OutOfMemoryError: GC overhead limit exceeded
要监视正在运行的应用程序,请在IntelliJ 1.4.2。的调试模式下与Visual VM社区2018.3一起运行。
已安装IntelliJ插件VisualVM Launcher。
编辑
这有助于克服问题进行测试,但仍然无法回答问题。它被张贴在这里,以便可以帮助找到该问题的其他人。
虽然我目前找不到在使用Neo4j Java API创建Neo4j图时增加JVM堆大小的方法。
new GraphDatabaseFactory()
或
new EnterpriseGraphDatabaseFactory()
使用IntelliJ进行测试时
通过使用创建图形
GraphDatabaseService graphDb = new GraphDatabaseFactory()
.newEmbeddedDatabase(new File("C:\\...\\graph.db"));
并使用Intellj Run/Debug Configurations Dialog
并通过添加JVM配置选项来编辑VM options
,以开始堆大小Xms
和最大堆大小Xmx
,例如
-Xms4096m -Xmx4096m
在测试过程中,堆增加到4,4294,967,296 B,并且程序按预期完成。