2016-03-21 6 views
2

Sesame NativeRDFでSPARQL更新を実行すると、一時データが/ tmpに書き込まれます。 私たちの場合、これはかなり大きいため、/ tmp上の利用可能な領域を超えている可能性があります。 このディレクトリはどこに設定されているので、別の場所に(再)設定できますか?Sesame NativeRDFの/ tmpへの書き込み

答えて

3

NativeStoreは、使用可能なRAMの量がRAM内のすべてを保持し続けるには不十分であると計算すると、データをディスク(一時ディレクトリ)に同期する内部でMemoryOverflowModelを使用します。こうして作成された一時ファイルは、MemoryOverflowModelオブジェクトの存続期間中にのみ存在します(最大でも、トランザクションの継続時間です)。

MemoryOverflowModelは、システムプロパティjava.io.tmpdirで定義されているように、ご使用のOSのデフォルト構成の一時ディレクトリを使用します。したがって、別のディレクトリを使用するように設定する場合は、このプロパティが別の値に設定されていることを確認してください。これを行う最も簡単な方法は、JREを呼び出すときにオーバーライドすることです(java -Djava.io.tmpdir=/some/other/dir ...)。

また、JREのヒープスペースを増やすように設定して、大規模なアップデートの場合でもディスク同期が起こりにくいようにします。

関連する問題