javamemory-leaksgarbage-collectionjvm-hotspotpermgen

GarbageCollector stoped running after setting XX:MaxMetaspaceSize to the same old XX:MaxPermSize value


During a migration of a Java application from Java 6 + Jboss to Java 8 + Tomcat.

We replaced the old XX:MaxPermSize value by setting a value for the XX:MaxMetaspaceSize in the new Java 8 version.

The Garbage Collector stoped running after some hours, something is missing, sould i set a value for the XX:MetaspaceSize value or other params ?

The application is based on Spring MVC with a lot of JSP, and we never had memory problem like swapping on disk ... when we were on JBOSS + Java 6.


Solution

  • The problem was that's we discover a memory leak that wasn't obvious on Java 6.

    On java 8 there more elements in Metaspace and if the garbage collector is not able de collect them the Metaspace grow until Swapping the Disk memory.