Sesame NativeRDF пишет в /tmp

При выполнении обновлений SPARQL в Sesame NativeRDF данные temporay записываются в /tmp. В нашем случае это может быть значительным и, следовательно, выходит за пределы доступного места в /tmp. Где установлен этот каталог, чтобы мы могли (пере)настроить его в альтернативное место?


person Bert Van Nuffelen    schedule 21.03.2016    source источник


Ответы (1)


NativeStore использует MemoryOverflowModel для внутреннего использования, которые синхронизируют свои данные с диском (во временном каталоге), когда вычисляют, что объем доступной оперативной памяти недостаточен для продолжения хранения всего в оперативной памяти. Временные файлы, созданные таким образом, существуют только в течение времени жизни объекта MemoryOverflowModel (что в лучшем случае соответствует продолжительности транзакции).

MemoryOverflowModel использует настроенный по умолчанию временный каталог для вашей ОС, как определено системным свойством java.io.tmpdir. Поэтому, если вы хотите настроить его для использования другого каталога, убедитесь, что для этого свойства установлено другое значение. Самый простой способ сделать это — переопределить при вызове JRE (java -Djava.io.tmpdir=/some/other/dir ...).

Также стоит настроить JRE так, чтобы было доступно больше места в куче, чтобы с меньшей вероятностью запускалась синхронизация диска даже при больших обновлениях.

person Jeen Broekstra    schedule 21.03.2016