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
