2017-08-23 4 views
0

Ich bin mit dieser Abfrage eine GrafikGettig Orientdb Java Heap

Abfrage zu durchqueren:

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

Meine Daten-Set 11M Kanten und 20000 Knoten ist.

Ich bekomme diese Java-Ausnahme

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

Ich verwende diese Konfiguration

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 

Wie ich dieses Problem beheben kann?

+0

Sie müssen den Max-Heap-Wert Ihres Java-Prozesses erhöhen. – pabrantes

+0

@pabrantes Ich erhöhte den maximalen Wert auf 10G pro 4G für die Festplatte immer noch GC überschritt –

Antwort

0

Versuchen Sie es mit:

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

MAXDEPTH ist in Bezug auf RAM und Geschwindigkeit effizienter. Wenn das nicht funktioniert, reduziere den DISKCACHE und lege den Schnitt in den Haufen. Also:

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

Wenn dies bereits 13G für 1G für die Festplatte erreicht, jetzt bekomme ich GC übertroffen –