Hi,
I'm using JasperReport Server v7.2 on Ubuntu 18.04.3 LTS under Tomcat 9.0.24 and OpneJk 1.8.0_312
JVM Arguments:
-Xms1024M
-Xmx2048M
-XX:+UseParallelGC
With REST API I generate many small reports (up to 10 pages).
I execute one API call a time, so Jasper generates only one report a time.
As you can see in attached image (image 1), the used heap space increases until it reaches saturation (after 220/230 reports).
It seems that Jasper keeps in memory data of the reports produced and the GC cannot free it.
Even interrupting the report generation process, the heap memory is released only after a long time (1 hour after the error/interruption), see image 2.
Errors that I cand find in log:
ERROR SecureExceptionHandlerImpl,pool-27-thread-1:116 - Java heap space
ERROR SqlExceptionHelper,pool-27-thread-1:131 - Ran out of memory retrieving query results.
How can I avoid this situation? Any suggestion?
Thanks,
Stefano.
You are running on way too little memory for JRS. For 7.2 from the supported platforms guide these are the requirements for JRS:
Minimum system requirements: 2 Core processor, 8 GB RAM, 10GB free disk space
Recommended system requirements: 2.5 Ghz multi Core processor, 12GB RAM, 40GB free disk
space
Please bump your memory to minimum or above. Thanks.
Hi,
we've a VM with 32 GB RAM, 4 Core and 200 GB free space.
Ram minimum requirements is refered to SO or JRS?
Changing Xmx from 2048M to 16384M has resolved the issue.
Best regards,
Stefano.