I have Spring Java 8 application deployed in Tomcat 8 server with 64 GB and multi core processor.
Application designed for number of user doing small operation every day and large process are scheduled to run in night time when there is no user operation.
Sometimes application became slow and unresponsive, mainly in day time while user performing small operation. After server restart it became normal for few days.
My observation while application slowness are
- There is no locked queries or session in DB side.
- There is no errors at that time.
- There is no
OutofMemory
or memory related exception at that time. - I have checked the JVM through jVisual, in that heap memory keep growing and class count also increasing massively.
- I have tried clearing garbage manually, but no use.
JVM argument:
-Xms8g-Xmx16g-XX:+AggressiveOpts-XX:+UseConcMarkSweepGC
I have the heap dump of JVM while it was slow, but i don't know how to find which Class or Method or Thread
which causing the server slowness,
Looking for suggestion to solve slowness.