2

我正在尝试为 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 并且增长迅速。

在这方面的任何帮助将不胜感激。

4

1 回答 1

1

您正在使用的缓冲区数量有点太高了。不要忘记操作系统和其他进程也会消耗一些内存。

您使用哪个确切版本?(开发或稳定分支?)

你使用磁盘条带化吗?

我也将 freebase 加载到 Virtuoso 7,但我使用了较小的文件。大约 260 个 gzip 文件,每个 1000 万个三元组 = 大约 100M。每次文件加载后都会执行一次提交。

也许您可以更轻松地使用Freebase 预加载的 Virtuoso 图像

于 2014-03-14T10:14:29.313 回答