【发布时间】:2014-03-03 21:16:40
【问题描述】:
我正在尝试为 Freebase 创建一个本地 SPARQL 端点以运行一些本地实验。在使用 Virtuoso 7 时,我经常看到服务器被 OOM 杀手杀死。我已按照here 中提到的所有必需步骤进行操作。如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 中所述。
我是否遗漏了一些明显的东西?
附:
我也试过virtuoso-opensource-6.1。但它似乎太慢了。
我发现一个有趣的现象是,在批量加载过程中,virtuoso-6.1 的内存消耗上升得太慢了,但这可能是因为一般索引本身太慢了。
我的另一个观察结果是 virtuoso-6.1 在启动时占用几乎可以忽略不计的内存(大约 500MB),而 virtuoso-7 开始时大约 6500 MB 并且增长迅速。
在这方面的任何帮助将不胜感激。
【问题讨论】:
-
Virtuoso 的准确版本很重要——通常最好是根据本地二进制文件名调整的
virtuoso-t -?的输出。您是否按照推荐使用built-in Bulk Load features?总内存为 16GB 时,您可能有 10-14 GB 可用内存——这应该是inform your tuning settings。 -
请注意,Virtuoso 特定的问题通常可以通过Virtuoso Users mailing list、public Support Forums 或confidential Support Case 等集中渠道更快地得到解答。 (ObDisclaimer:我为 Virtuoso 的制作人 OpenLink Software 工作。)