2017-08-23 6 views
0

私はグラフGettig OrientDB Javaヒープ

クエリ横断するために、このクエリを実行している:私のデータセットが11Mのエッジと20000個のノードある

TRAVERSE out("Re") FROM #21:39161 WHILE $depth <= 3 
      STRATEGY BREADTH_FIRST 

を。

私は

[OServer]java.lang.OutOfMemoryError: Java heap space 
Dumping heap to java_pid3920.hprof ... 
Heap dump file created [911684234 bytes in 26,730 secs] 

このJava例外を取得しています私は、私はこの問題を解決することができどのようにこの構成に

rem ORIENTDB MAXIMUM HEAP. USE SYNTAX -Xmx<memory>, WHERE <memory> HAS THE TOTAL MEMORY AND SIZE UNIT. EXAMPLE: -Xmx512m 
set MAXHEAP=-Xmx6G 
rem ORIENTDB MAXIMUM DISKCACHE IN MB, EXAMPLE: "-Dstorage.diskCache.bufferSize=8192" FOR 8GB of DISKCACHE 
set MAXDISKCACHE=8GB 

を使用していますか?

+0

Javaプロセスの最大ヒープ値を増やす必要があります。 – pabrantes

+0

@pabrantes私は最大値を4Gあたり10Gに増やしましたが、まだGCを取得していません –

答えて

0

は、使用してみてください:

TRAVERSE out("Re") FROM #21:39161 MAXDEPTH 3 STRATEGY BREADTH_FIRST 

MAXDEPTHはRAMと速度の点で、より効率的です。表示されない場合は、DISKCACHEを減らし、カットをヒープに配置します。したがって:

set MAXHEAP=-Xmx10G 
set MAXDISKCACHE=4GB 
+0

ディスクを1Gで13Gに達した時点で、GCが完了しました –