Hi Hitendra,
These 'Allocation Failures' are not an error but it is a totally normal case in the JVM. There are java logs indicating that it ran out of heap space and triggered GC. The 'Allocation Failure' happens when there is not enough space to create new objects in Young Generation. Allocation Failure triggers minor GC to free up some space in the heap for the new objects.
You should only be worried if the throughput of your application starts to decrease. As per the GCeasy report, your application throughput is 99.388% which is a good number. But your Max Pause GC Time is 5 sec 170 ms. Long GC pause time results in poor customer experience because it pauses the customer transaction until GC activities are completed.
Here are my observations:
1. In your GCeasy report I could see that your application is calling System.gc() method. It will cause the stop the world i.e. your application will be stopped when a collection is happening. System.gc() calls are made from one of the following sources:
- Your own developers might be explicitly calling the System.gc() method.
- It could be third-party libraries, frameworks, or sometimes even application servers that you use. Any of those could be invoking the System.gc() method.
- It could be triggered from external tools (like VisualVM) through the use of JMX.
- If your application is using RMI, then RMI invokes System.gc() on a periodic interval. This interval can be configured using the following system properties:
-Dsun.rmi.dgc.server.gcInterval=n
-Dsun.rmi.dgc.client.gcInterval=n
If there is no need for it, then please remove it. On the other hand, you can forcefully disable the System.gc() calls by passing the JVM argument: -XX:+DisableExplicitGC.



Edit your Comment