2016-03-21 18 views
2

Beim Ausführen von SPARQL-Updates auf einem Sesame NativeRDF werden temporäre Daten in/tmp geschrieben. In unserem Fall könnte dies beträchtlich sein und daher über den verfügbaren Platz auf/tmp hinausgehen. Wo ist dieses Verzeichnis eingestellt, damit wir es an einem alternativen Ort (neu) konfigurieren können?Sesame NativeRDF schreibt nach/tmp

Antwort

3

Der NativeStore verwendet intern MemoryOverflowModel s, die ihre Daten auf Festplatte (in einem temporären Verzeichnis) synchronisieren, wenn berechnet wird, dass der verfügbare RAM nicht ausreicht, um alles im RAM zu behalten. Die so erstellten temporären Dateien existieren nur für die Lebensdauer des Objekts MemoryOverflowModel (das ist höchstens die Dauer der Transaktion).

MemoryOverflowModel verwendet das standardmäßig konfigurierte temporäre Verzeichnis für Ihr Betriebssystem gemäß der Systemeigenschaft java.io.tmpdir. Wenn Sie es für die Verwendung eines anderen Verzeichnisses konfigurieren möchten, stellen Sie daher sicher, dass diese Eigenschaft auf einen anderen Wert eingestellt ist. Der einfachste Weg, dies zu tun, ist das Überschreiben beim Aufruf der JRE (java -Djava.io.tmpdir=/some/other/dir ...).

Es lohnt sich auch, Ihre JRE so zu konfigurieren, dass mehr Heapspeicher zur Verfügung steht, so dass die Festplattensynchronisierung selbst bei großen Updates weniger wahrscheinlich ist.