Исключение Permgen нехватки памяти не отображается?

У меня есть приложение Java Swing, которое я пытаюсь отслеживать с помощью jvisualvm. Когда я отслеживаю приложение и выполняю некоторые тесты с активным jvisualvm, я получаю исключение permgen.
Если я просто запускаю его, делая те же самые вещи, что и при отслеживании его с помощью jvisualvm, все выглядит нормально.

Я использовал jmap -permstat или -heap, и я вижу, что пространство permgen уменьшается, когда оно приближается к своему пределу.

Может быть, когда я не запускаю jvisualvm, возникает исключение, но оно не отображается в консоли eclipse? Я понимаю, что очень трудно получить представление об этой небольшой информации, но несколько советов, почему у меня такое странное поведение?

Спасибо за ответы.


person res1    schedule 10.04.2017    source источник
comment
Какая это версия Java и какую именно ошибку/исключение вы получаете?   -  person Vipin    schedule 10.04.2017
comment
@Vipin, к сожалению, это старая версия 1.6.0_35, ошибка, которую я получаю: java.lang.OutOfMemoryError: PermGen space   -  person res1    schedule 11.04.2017
comment
Вы пытались увеличить пространство permgen?   -  person Vipin    schedule 11.04.2017
comment
Да, я пробовал, то же самое, с jvisualvm на нем потребляется все пространство permgen, и я получил исключение, без него тесты проходят нормально.   -  person res1    schedule 11.04.2017
comment
Инструменты профилирования, такие как jvisualvm, добавляют некоторые накладные расходы на память, которые, вероятно, вызывают проблемы в вашем случае. Но эти накладные расходы памяти действительно малы, попробуйте получить heapdump, когда возникает ошибка нехватки памяти, и проанализируйте ее.   -  person Vipin    schedule 11.04.2017
comment
Получите дамп кучи, используя -XX:+HeapDumpOnOutOfMemoryError в качестве аргумента jvm, чтобы получить его, а затем проанализировать. для анализа см. мой ответ (stackoverflow.com/questions/24888121/)   -  person Vipin    schedule 11.04.2017