Memory leaks Jena tdbloader和tdbloader2内存泄漏?

Memory leaks Jena tdbloader和tdbloader2内存泄漏?,memory-leaks,jena,Memory Leaks,Jena,我试图使用tdbloader2加载Freebase转储。但我得到了一个例外:“java.lang.OutOfMemoryError:java堆” 我将JVM_参数增加到-Xmx60G,但仍然得到相同的异常。(我的机器有64G) 我切换到tdbloader,使用top来监控内存消耗,在不到半小时的时间里,内存使用量急剧增加到15G ====== 更多信息: 转储文件是rdf格式的,我将其拆分为多个ttl文件,每个文件大约700M,总共90G 我曾经 tdbloader2 --loc kg x*.t

我试图使用tdbloader2加载Freebase转储。但我得到了一个例外:“java.lang.OutOfMemoryError:java堆”

我将JVM_参数增加到-Xmx60G,但仍然得到相同的异常。(我的机器有64G)

我切换到tdbloader,使用top来监控内存消耗,在不到半小时的时间里,内存使用量急剧增加到15G

======

更多信息:

转储文件是rdf格式的,我将其拆分为多个ttl文件,每个文件大约700M,总共90G

我曾经

tdbloader2 --loc kg x*.ttl
我修改了tdbloader2脚本,更改了行

JVM_ARGS=${JVM_ARGS:--Xmx1024M}
将来


我现在没有确切的错误输出。但我记得它在尝试创建新的HashMap时失败了。

Freebase转储是什么格式?除非是N-Triples格式,否则tdbloader可能必须在将索引等写入磁盘之前将整个模型加载到内存中。如果转储太大,显然需要大量内存y、 您能补充一下您的问题吗:您用来调用
tdbloader2
的命令行,以及数据文件的大小和格式?从这个角度来看,tdbloader(1和2)应该是可以的没有先读取整个文件。在加载过程中什么时候会失败?tdbloader2是一个脚本-使sire JVM_ARGS正确导出到环境中,否则它将无效。@AndyS哦,我不认为RDF/XML和N3可以在不读取整个文档并从中构建模型的情况下轻松拆分。现在我认为当然,这是没有意义的;只要您不必阅读整个XML文档,就可能不会有问题。我的错误。
JVM_ARGS=${JVM_ARGS:--Xmx60G}