Dear Jena Community, I'm running Jena Fuseki Version 4.7.0 as a container on an OpenShift Cluster. OS Version Info (cat /etc/os-release): NAME="Red Hat Enterprise Linux" VERSION="8.7 (Ootpa)" ID="rhel" ID_LIKE="fedora" VERSION_ID="8.7" ...
Hardware Info (from Jena Fuseki initialization log): [2023-03-10 18:34:36] Server INFO Memory: 32.0 GiB [2023-03-10 18:34:36] Server INFO Java: 11.0.18 [2023-03-10 18:34:36] Server INFO OS: Linux 3.10.0-1160.76.1.el7.x86_64 amd64 [2023-03-10 18:34:36] Server INFO PID: 1 Disk Info (df -h): Filesystem Size Used Avail Use% Mounted on overlay 99G 77G 17G 83% / tmpfs 64M 0 64M 0% /dev tmpfs 63G 0 63G 0% /sys/fs/cgroup shm 64M 0 64M 0% /dev/shm /docker_data 99G 77G 17G 83% /config /data 1.0T 364G 661G 36% /usr/app/run … For some unknown reason, the memory consumption of the container keeps exceeding the threshold specified at the server initialization command: java -Xmx32G -jar fuseki-server.jar --port 3030 At our latest experiment, we’ve set the maximum amount of memory available to the container to 48GB, which leaves 16GB (about 50% of Jena’s maximum expected memory allocation) free for any other processes that might be triggered in the background. This was based on a recommendation found at https://www.ibm.com/support/pages/understanding-memory-requirements-32-and-64-bit-systems which suggested that: “When allocating memory to a JVM, 10% to 25% of the memory is for the JVM process itself and the remainder is for the code running in the JVM. This means that a JVM that has been allocated 4 GB may only have 3.5 GB available to the code running in the JVM.” Although we expected that this would be sufficient to avoid any issues with regards to memory consumption, the container end’s up trying to allocate more than 48GB which results in an OOMKilled error. Provided that, would there be any specific recommendations or known strategies to deal with this issue besides increasing the memory available to the container? If not, would there be a better way to determine the ideal amount of memory that should be made available to the container based on the value of -Xmx parameter (currently 32G)? Thanks for your help! Best Regards, Elton Figueiredo de Souza Soares Research Software Engineer E-mail: [email protected]<mailto:[email protected]>
