2017-08-23 8 views
0

Je suis en cours d'exécution de cette requête pour parcourir un graphiquegettig OrientDB Java tas

Requête:

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

Mon jeu de données est bords 11M et 20000 noeuds.

Je reçois cette exception java

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

J'utilise cette configuration

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 

Comment puis-je résoudre ce problème?

+0

Vous devez augmenter la valeur de tas maximale de votre processus Java. – pabrantes

+0

@pabrantes J'ai augmenté la valeur max à 10G par 4G pour le disque encore en sortie de GC –

Répondre

0

Essayez d'utiliser:

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

MAXDEPTH est plus efficace en termes de RAM et la vitesse. Si cela ne fonctionne pas, réduire le DISKCACHE et mettre la coupe dans le tas. Donc:

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

Quand je l'ai déjà atteint 13G pour 1G pour le disque, maintenant je reçois le GC –