java - 数据导入期间超出 Fuseki GC 开销限制

标签 java rdf sparql jena fuseki

我正在尝试在启动时将 LinkedMDB(6.1m 三元组)导入我的本地版本的 jena-fuseki:

/path/to/fuseki-server --file=/path/to/linkedmdb.nt /ds

运行一分钟,然后死于以下错误:

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
    at com.hp.hpl.jena.graph.Node$3.construct(Node.java:318)
    at com.hp.hpl.jena.graph.Node.create(Node.java:344)
    at com.hp.hpl.jena.graph.NodeFactory.createURI(NodeFactory.java:48)
    at org.apache.jena.riot.system.RiotLib.createIRIorBNode(RiotLib.java:80)
    at org.apache.jena.riot.system.ParserProfileBase.createURI(ParserProfileBase.java:107)
    at org.apache.jena.riot.system.ParserProfileBase.create(ParserProfileBase.java:156)
    at org.apache.jena.riot.lang.LangNTriples.tokenAsNode(LangNTriples.java:97)
    at org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:90)
    at org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:54)
    at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:42)
    at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$1.read(RDFParserRegistry.java:142)
    at org.apache.jena.riot.RDFDataMgr.process(RDFDataMgr.java:818)
    at org.apache.jena.riot.RDFDataMgr.parse(RDFDataMgr.java:679)
    at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:211)
    at org.apache.jena.riot.RDFDataMgr.read(RDFDataMgr.java:104)
    at org.apache.jena.fuseki.FusekiCmd.processModulesAndArgs(FusekiCmd.java:251)
    at arq.cmdline.CmdArgModule.process(CmdArgModule.java:51)
    at arq.cmdline.CmdMain.mainMethod(CmdMain.java:100)
    at arq.cmdline.CmdMain.mainRun(CmdMain.java:63)
    at arq.cmdline.CmdMain.mainRun(CmdMain.java:50)
    at org.apache.jena.fuseki.FusekiCmd.main(FusekiCmd.java:141)

有没有办法提高内存限制或以不太密集的方式导入数据?

为了比较,当我使用一个 100 万的三重源文件时,它的导入时间不到 10 秒。

最佳答案

增加堆内存,java -Xmx2048M -jar fuseki-sys.jar ......

用编辑器打开fuseki-server你会发现JVM_ARGS=${JVM_ARGS:--Xmx1200M}行修改为JVM_ARGS=${JVM_ARGS:--Xmx2048M}

关于java - 数据导入期间超出 Fuseki GC 开销限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21197198/

相关文章:

json - 在 Freebase 中获取每道菜页面的菜肴列表和详细信息?

rdf - 使用属性路径查询时出现 "The value of a variable in a Set cannot be changed"

RDF 在一行中列出主题及其对象

graph - 使用 SPARQL 计算自定义直方图指标以了解图结构

java - java(spring boot)中的aws lambda函数无法创建文件?

java - 如何从另一个类读取变量?

rdf - 隐式具体化的简单格式

rdf - 如何使类标签显示为类的列名?

java - 嵌套异常是 java.io.FileNotFoundException : class path resource [config/simpleJob. xml] 无法打开,因为它不存在

javascript - Angular js - 未添加对服务的 PUT 请求的 URL