2016-05-01 10 views
0

Ich versuche, ein Dataset zu GraphDB 7.0 zu laden. Ich schrieb ein Python-Skript, um die Daten auf Sublime Text 3 zu transformieren und zu laden. Das Programm hörte plötzlich auf zu arbeiten und schloss, der Computer drohte neu zu starten, aber nicht, und ich verlor mehrere Stunden Rechenzeit, da GraphDB mich nicht abfragen ließ die Einsätze. Dies ist der Fehler, den ich auf GraphDB erhalten:Speicherprobleme mit GraphDB 7.0

The currently selected repository cannot be used for queries due to an error: 

org.openrdf.repository.RepositoryException: java.lang.RuntimeException: There is not enough memory for the entity pool to load: 65728645 bytes are required but there are 0 left. Maybe cache-memory/tuple-index-memory is too big. 

ich die JVM wie folgt festgelegt:

-Xms8g 
-Xmx9g 

Ich erinnere mich nicht genau, was ich als die Werte für den Cache und Index Erinnerungen gesetzt. Wie behebe ich dieses Problem?

Für den Datensatz hat die Datenbank, die ich analysieren muss etwa 300k Datensätze. Das Programm schloss bei etwa 50k. Was muss ich tun, um dieses Problem zu beheben?

+0

die Java-Speicher erhöhen Wie haben Sie GraphDB Entität Pool konfigurieren? Verwendet es die Standardkonfiguration (klassisch) oder die transaktionale/transaktional einfache Konfiguration? –

Antwort

2

Öffnen Sie die Workbench, und überprüfen Sie, wie viel Speicher Sie im Cache gespeichert haben.

Xmx sollte ein Wert sein, der für

cache-memory + memory-for-queries + entity-pool-hash-memory 

leider diese nicht berechnet werden leicht genug ist, weil es von der Anzahl der Einheiten im Repository abhängt. Sie müssen entweder:

  1. mit einem größeren Wert für Xmx
  2. Verringern Sie den Wert für Cache-Speicher