我正在尝试为 Freebase 创建一个本地 SPARQL 端点以运行一些本地实验。在使用 Virtuoso 7 时,我经常看到服务器被 OOM 杀手杀死。我已按照此处提到的所有必需步骤进行操作。如RDF Performance Tuning中所述,我还对我的virtuoso.ini
文件进行了必要的更改。
我的系统配置是:
- 8 个 CPU 2.9 Ghz
- 16 GB 内存
我也有足够的硬盘。
关于数据转储,我将 freebase 数据转储(23GB gzip 压缩,大约 250 GB 未压缩)拆分为 10 个较小的 gzip 压缩文件,每个文件包含 200,000,000 个三元组。
以下是我所做的更改virtuoso.ini
NumberOfBuffers = 1360000
MaxDirtyBuffers = 1000000
MaxCheckpointRemap = 340000 # (1/4th of NumberOfBuffers)
除此之外,我已经vm.swapiness = 10
按照2中的说明进行了设置。
我错过了一些明显的东西吗?
PS:我也试过virtuoso-opensource-6.1
。但它似乎太慢了。
我观察到的一个有趣的现象是,在批量加载过程中,virtuoso-6.1 的内存消耗上升得太慢了,但这可能是因为一般索引本身太慢了。
我的另一个观察结果是 virtuoso-6.1 在启动时占用的内存几乎可以忽略不计(大约 500MB),而 virtuoso-7 开始时大约 6500 MB 并且增长迅速。
在这方面的任何帮助将不胜感激。