On Linux server vm arguments (Xmx=3GB, Xms=3GB) have been specified for application. By seeing the heap dump it can be seen that more than 2.9 GB memory has been utilized. 32 MB memory is there for unreachable objects.

But the application did not throw OOM, instead it has stopped responding. So it became necessary to restart the application manually.

I can see many threads(96) waiting on monitor of some specific object in stack trace. Does that help? Also most of the 2.9 GB space is occupied by cache objects, which is normal I think. MAT is showing these cache objects only as leak suspects.

Trying to find out what made it to not respond but don't see any thing special by looking heap dump and stack traces.