在Sesame NativeRDF上执行SPARQL更新时,临时数据将写入/ tmp。 在我们的例子中,这可能是相当大的,因此超出/ tmp上的可用空间。 这个目录在哪里设置,以便我们可以(重新)将它配置到另一个位置?
答案 0 :(得分:3)
NativeStore在内部使用MemoryOverflowModel
,当它计算可用RAM的数量不足以继续将所有内容保存在RAM中时,它们将数据同步到磁盘(在临时目录中)。这样创建的临时文件仅存在于MemoryOverflowModel
对象的生命周期中(最多是事务的持续时间)。
MemoryOverflowModel
使用系统属性java.io.tmpdir
定义的操作系统的默认配置临时目录。因此,如果您希望将其配置为使用其他目录,请确保将此属性设置为其他值。最简单的方法是在调用JRE(java -Djava.io.tmpdir=/some/other/dir ...
)时覆盖。
将JRE配置为有更多可用堆空间也是值得的,因此即使在大型更新时也不太可能启动磁盘同步。