2016-03-31 9 views
1

2つの異なるLinuxサーバで同じJVMパラメータを持つJava組み込みNeo4jプログラムを実行すると、24コアと64G RAMを持つものが正常に処理されますが、もう1つは768G RAM 32コア。エラーコード: graphDb = new GraphDatabaseFactory()。newEmbeddedDatabaseBuilder(PATH + GRAPH_DATABASE_PATH) .setConfig( "keep_logical_logs"、 "100M size")。newGraphDatabase();Neo4jヒープサイズ

両方の実行で-Xmx4gを設定しました。エラーは何人かのユーザーがこのマシンを共有するので、何人かのユーザーと2台目のサーバーの負荷に関係していますか?ここに私が受け取るエラーがあります: スレッド "main"の例外java.lang.OutOfMemoryError:Javaヒープスペース at org.neo4j.io.pagecache.impl.muninn.MuninnPageCache(MuninnPageCache.java:246) at org org.neo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory.getOrCreatePageCache(ConfiguringPageCacheFactory.java:85)の にあるneo4j.kernel.impl.pagecache.ConfiguringPageCacheFactory.createPageCache(ConfiguringPageCacheFactory.java:85) (org.neo4j.kernel.impl) factory.PlatformModule.createPageCache(PlatformModule.java:279) at org.neo4j.kernel.impl.factory.PlatformModule(PlatformModule.java:156) at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.createPlatform(GraphDatabaseFacadeFactory .java:181) at org.neo4j.kernel.impl.factory.Grap hDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:124)org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacadeでorg.neo4j.kernel.impl.factory.CommunityFacadeFactory.newFacade(CommunityFacadeFactory.java:43) で (GraphDatabaseFacadeFactory。 Javaの:org.neo4jでorg.neo4j.graphdb.factory.GraphDatabaseFactory $ 1.newDatabase(GraphDatabaseFactory.java:117) でorg.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:129) で108) .graphdb.factory.GraphDatabaseBuilder.newGraphDatabase

+0

うわー!あなたはその種のサーバーにアクセスできます!なぜ最大ヒープを4Gに限定するのですか?なぜあなたはあなたのアプリを起動しないのですか? 'java -server -Xmx64G -jar myapp.jar'? –

+0

こんにちは、私のプログラムが他の同様のツールに比べてメモリ効率が高いことを示したいからです。だから私はこれらのパラメータを設定します:java -server -XX:+ UseConcMarkSweepGC -Xmx4g -jar ...実際に最初の実行は-Xmx2gでも動作します! –

+0

あなたはどのバージョンを使用していますか? –

答えて

0

ちょうど明示的にページ・キャッシュのサイズを設定する(GraphDatabaseBuilder.java:185):

dbms.pagecache.memory=5G 

ディスクの記憶容量によっては、