При выполнении обновлений SPARQL в Sesame NativeRDF данные temporay записываются в /tmp. В нашем случае это может быть значительным и, следовательно, выходит за пределы доступного места в /tmp. Где установлен этот каталог, чтобы мы могли (пере)настроить его в альтернативное место?
Sesame NativeRDF пишет в /tmp
Ответы (1)
NativeStore использует MemoryOverflowModel
для внутреннего использования, которые синхронизируют свои данные с диском (во временном каталоге), когда вычисляют, что объем доступной оперативной памяти недостаточен для продолжения хранения всего в оперативной памяти. Временные файлы, созданные таким образом, существуют только в течение времени жизни объекта MemoryOverflowModel
(что в лучшем случае соответствует продолжительности транзакции).
MemoryOverflowModel
использует настроенный по умолчанию временный каталог для вашей ОС, как определено системным свойством java.io.tmpdir
. Поэтому, если вы хотите настроить его для использования другого каталога, убедитесь, что для этого свойства установлено другое значение. Самый простой способ сделать это — переопределить при вызове JRE (java -Djava.io.tmpdir=/some/other/dir ...
).
Также стоит настроить JRE так, чтобы было доступно больше места в куче, чтобы с меньшей вероятностью запускалась синхронизация диска даже при больших обновлениях.