Kristian Kristian - 4 years ago 155
Java Question

Fuseki GC overhead limit exceeded during data import

I'm trying to import LinkedMDB (6.1m triples) into my local version of jena-fuseki at startup:

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

and that runs for a minute, then dies with the following error:

Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at com.hp.hpl.jena.graph.Node$3.construct(
at com.hp.hpl.jena.graph.Node.create(
at com.hp.hpl.jena.graph.NodeFactory.createURI(
at org.apache.jena.riot.system.RiotLib.createIRIorBNode(
at org.apache.jena.riot.system.ParserProfileBase.createURI(
at org.apache.jena.riot.system.ParserProfileBase.create(
at org.apache.jena.riot.lang.LangNTriples.tokenAsNode(
at org.apache.jena.riot.lang.LangNTriples.parseOne(
at org.apache.jena.riot.lang.LangNTriples.runParser(
at org.apache.jena.riot.lang.LangBase.parse(
at org.apache.jena.riot.RDFParserRegistry$ReaderRIOTFactoryImpl$
at org.apache.jena.riot.RDFDataMgr.process(
at org.apache.jena.riot.RDFDataMgr.parse(
at org.apache.jena.fuseki.FusekiCmd.processModulesAndArgs(
at arq.cmdline.CmdArgModule.process(
at arq.cmdline.CmdMain.mainMethod(
at arq.cmdline.CmdMain.mainRun(
at arq.cmdline.CmdMain.mainRun(
at org.apache.jena.fuseki.FusekiCmd.main(

Is there a way that I can bump up the memory limit or import the data in less intensive way?

For comparison's sake, when I used a 1million triple source file, it imports in less than 10 seconds.

Answer Source

Increase heap memory, java -Xmx2048M -jar fuseki-sys.jar ......

open fuseki-server with an editor you'll find the line JVM_ARGS=${JVM_ARGS:--Xmx1200M} modify it to JVM_ARGS=${JVM_ARGS:--Xmx2048M}

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download