2016-02-02 4 views
1

У меня возникли проблемы с заполнением Metaspace, и я пытаюсь понять, как работают GC. Я прочитал here, что младшие GC увеличивают использование Metaspace. Я тоже читал литературу, и я не смог прийти к правильному выводу.Metaspace and Garbage Collections

У кого-нибудь есть хорошее объяснение того, как GC (как второстепенные, так и крупные) влияют на Metaspace?

ответ

1

@Tavo Metaspace заменил permgen в JDK1.8. Идея здесь заключалась в том, чтобы избавиться от ситуаций OutOfMemoryError, позволив увеличить размер метапроцесса до максимальной доступной физической памяти на машине. Но если ваше приложение уже протестирует вашу ответственность за отладку этой проблемы.

К счастью, jdk поставляется с инструментом Mission Control (jmc.exe), который позволяет записывать события на JVM. Вы можете проанализировать, какие загрузчики классов не выгружены. Пожалуйста, изучите JMC. Вы можете найти более подробную информацию здесь: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr002.html#BABIBBDE