Virtuoso 7在批量装载时崩溃

时间:2014-03-03 21:16:40

标签: freebase virtuoso

我正在尝试为Freebase创建一个本地SPARQL端点,以便运行一些本地实验。在使用Virtuoso 7时,我经常看到服务器被OOM杀手杀死。我已按照here所述的所有必要步骤进行操作。我还对RDF Performance Tuning中提到的virtuoso.ini文件进行了必要的更改。

我的系统配置是:

  • 8 CPU 2.9 Ghz
  • 16 GB RAM

我也有足够的硬盘。

关于数据转储,我将freebase数据转储(23GB gzipped,大约250 GB未压缩)拆分为10个较小的gzip压缩文件,每个文件包含200,000,000个三元组。

以下是我对virtuoso.ini

所做的更改
NumberOfBuffers = 1360000
MaxDirtyBuffers = 1000000

MaxCheckpointRemap = 340000  # (1/4th of NumberOfBuffers)

除此之外,我还设置了2中提及的vm.swapiness = 10

我错过了一些明显的东西吗?

P.S .: 我也试过了virtuoso-opensource-6.1。但它看起来太慢了。

我有一个有趣的观察结果是,在批量加载过程中,virtuoso-6.1内存消耗上升得太慢,但可能是因为一般索引本身太慢了。

我的另一个观察结果是,virtuoso-6.1在开始时占据几乎可以忽略不计的内存(500MB的顺序),而virtuoso-7从大约6500 MB开始并且快速增长。

在这方面的任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

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

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

您使用磁盘条带化吗?

我也将freebase加载到Virtuoso 7,但我使用的是较小的文件。大约260个gzipped文件,每个10密耳三倍=大约100M。每次加载文件后都会执行提交。

使用images with Virtuoso preloaded by Freebase

可能会更容易