Проблема с метапространством после перехода на JDK 8 и Tomcat 8
Я сталкиваюсь с проблемой накопления мета-пространства, которое не очищается даже во время основного сбора данных. Ниже мой Tomcat JVM
-XX:+UseAdaptiveGCBoundary -XX:+UseG1GC -XX:CompressedClassSpaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xms2048m -Xmx2048m
(Я использую экземпляр AWS с 16 ГБ ОЗУ)
Я могу заметить, что метапространство продолжало увеличиваться (изменение в верхнем значении) динамически, я чувствовал, что оно меняется, поскольку выделенное ограничение составляет 1 ГБ, и когда произошла большая сборка мусора, я ожидал, что неиспользуемые классы будут выгружены. Но этого не случилось.
В течение 15 минут происходил крупный мусор, пространство кучи выглядело здоровым (оно очищало объекты в нем), но мета-пространство никогда не было. Таким образом, мы должны перезапустить Tomcat, чтобы решить эту проблему.
Должен ли я рассмотреть MinFreespaceRatio=60? чтобы G1GC вызывал сборку мусора?
Я планирую бежать
jmap -clstat
на производственном экземпляре, что именно я должен высматривать на том метапространственном дампе?