While we appreciate that this unresolved memory issue is painful for users, I 
would strongly emphasise that the project DOES NOT recommend people use 
outdated versions of Jena.

3.17.0 released in November 2020 which makes it 2.5 years old at this point. 
There have been lots of security, performance and correctness fixes that have 
happened in that time.

Rob

From: Dave Reynolds <[email protected]>
Date: Monday, 10 July 2023 at 08:36
To: [email protected] <[email protected]>
Subject: Re: OOM Killed
There is an issue with memory growth in fuseki, though it's growth
outside of normal java heap and non-heap space.

See https://www.mail-archive.com/[email protected]/msg20362.html

For that scale of data and scale of machine suggest setting the heap
smaller -Xmx1G or -Xmx500M. Empirically the process growth seems to
largely levels off at around 4x the given heap size (though this very
much depends on the usage model and have no clear explanation for this).

You might also try -XX:MaxDirectMemorySize=1G or less though exactly
what size to set will depend on how much data is involved in your
queries. If the process dies with an exception about unable to allocate
new direct memory then increase it.

If this is not a public service liable to security issues and you are
able to use a 3.17.0 (or earlier) version of fuseki then those are not
subject to this growth issue. Or at least not to the version of the
issue that we are seeing in our own usage.

Dave

On 09/07/2023 20:33, Laura Morales wrote:
> I'm running a job that is submitting a lot of queries to a Fuseki server, in 
> parallel. My problem is that Fuseki is OOM-killed and I don't know how to fix 
> this. Some details:
>
> - Fuseki is queried as fast as possible. Queries take around 50-100ms to 
> complete so I think it's serving 10s of queries each second
> - Fuseki 4.8. OS is Debian 12 (minimal installation with only OS, Fuseki, no 
> desktop environments, uses only ~100MB of RAM)
> - all the queries are read queries. No updates, inserts, or other write 
> queries
> - all the queries are over HTTP to the Fuseki endpoint
> - database is TDB2 (created with tdb2.tdbloader)
> - database contains around 2.5M triples
> - the machine has 8GB RAM. I've tried on another PC with 16GB and it 
> completes the job. On 8GB though, it won't
> - with -Xmx6G it's killed earlier. With -Xmx2G it's killed later. Either way 
> it's always killed.
>
> Is there anything that I can tweak to avoid Fuseki getting killed? Something 
> that isn't "just buy more RAM".
> Thank you

Reply via email to