Java Neo4j堆大小

Java Neo4j堆大小,java,neo4j,heap,Java,Neo4j,Heap,当我在两台不同的linux服务器上使用相同的JVM参数运行java embedded Neo4j程序时,一台有24个内核和64G RAM的服务器成功地完成了这项工作,但另一台给了我一个堆大小错误,尽管它有768G RAM和32个内核。错误发生在代码的这一行: graphDb=new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(路径+图形\数据库\路径) .setConfig(“保留逻辑日志”,“100M大小”).newGraphDataba

当我在两台不同的linux服务器上使用相同的JVM参数运行java embedded Neo4j程序时,一台有24个内核和64G RAM的服务器成功地完成了这项工作,但另一台给了我一个堆大小错误,尽管它有768G RAM和32个内核。错误发生在代码的这一行: graphDb=new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(路径+图形\数据库\路径) .setConfig(“保留逻辑日志”,“100M大小”).newGraphDatabase()

我在两次运行中都设置了-Xmx4g。由于许多用户共享这台机器,错误可能与第二台服务器上的用户数量和负载有关吗?以下是我收到的错误: 线程“main”java.lang.OutOfMemoryError中出现异常:java堆空间 位于org.neo4j.io.pagecache.impl.muninn.MuninnPageCache.(MuninnPageCache.java:246) 位于org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory.createPageCache(ConfiguringPageCacheFactory.java:94) 位于org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory.getOrCreatePageCache(ConfiguringPageCacheFactory.java:85) 位于org.neo4j.kernel.impl.factory.PlatformModule.createPageCache(PlatformModule.java:279) 位于org.neo4j.kernel.impl.factory.PlatformModule.(PlatformModule.java:156) 位于org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.createPlatform(GraphDatabaseFacadeFactory.java:181) 位于org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:124) 位于org.neo4j.kernel.impl.factory.CommunityFacadeFactory.newFacade(CommunityFacadeFactory.java:43) 位于org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:108) 位于org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:129) 位于org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:117)
在org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:185)

只需显式配置页面缓存大小:

dbms.pagecache.memory=5G

取决于磁盘上的存储大小。

只需明确配置页面缓存大小:

dbms.pagecache.memory=5G

取决于磁盘上的存储大小。

Wow!你可以访问那种服务器!为什么要将最大堆限制为仅4G?你为什么不像这样启动你的应用程序:
java-server-Xmx64G-jar myapp.jar
?嗨,因为我想证明我的程序与其他类似工具相比内存效率高。所以我设置了这些参数:java-server-XX:+useConMarkSweepGC-Xmx4g-jar。。。实际上,第一次运行甚至可以使用-Xmx2g!你用的是哪个版本?哇!你可以访问那种服务器!为什么要将最大堆限制为仅4G?你为什么不像这样启动你的应用程序:
java-server-Xmx64G-jar myapp.jar
?嗨,因为我想证明我的程序与其他类似工具相比内存效率高。所以我设置了这些参数:java-server-XX:+useConMarkSweepGC-Xmx4g-jar。。。实际上,第一次运行甚至可以使用-Xmx2g!您使用的是哪个版本?