Hello Edouard!
I have few observations on your Garbage collection log.
1. Heap Size is set to 2GB and not 4GB
In your comment you have mentioned you are increased your heap size to 4GB on 04/02. But I still see it as ~2GB. Please see the JVM memory size reported:
But note, based on the suggestion that I am going to give below, you don't have to increase to the heap size to 4GB, there is no need for it.
2. Unnecessary/wrong JVM arguments
Even though you have allocated 2GB as your heap size, you can notice that peak memory utilization doesn't exceed 412.57MB. It's due to the fact that several unnecessary/wrong JVM arguments are passed. Due to which memory consumption is not exceeing 421.57MB. It is causing your application to suffer OutOfMemoryError. Below is all the JVM arguments you are passing to your application:
Get rid of all the JVM arguments and keep only the following:
-XX:+ExitOnOutOfMemoryError
-XX:GCLogFileSize=3145728
-XX:InitialHeapSize=67108864
-XX:MaxHeapSize=2147483648
-XX:MaxMetaspaceSize=268435456
-XX:NumberOfGCLogFiles=5
-XX:+PrintGC
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+UnlockExperimentalVMOptions
-XX:+UseGCLogFileRotation
-XX:+UseParallelOldGC
Edit your Comment