powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как убирается мусор из permgen ?
7 сообщений из 7, страница 1 из 1
Как убирается мусор из permgen ?
    #39377169
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ничего конкретного не прочитал, про чистку в permgen.
Насколько я понял permgen/metaspace хранит в основном метаданные классов(ещё что-то?)

Загрузкой классов занимается classLoader. Это обычный класс, экземпляр которого хранится в хипе. если в пермгене у классов, нет ссылок на наш класслоадер, то те классы, которые он загрузил монут быть выгружены(почищены из пермгена)

А как это происходит обычно? по таймауту или по достижении определенного объема? различается ли алгоритм от gc к gc ? тот самый gc, что чистит хип этим занимается?
...
Рейтинг: 0 / 0
Как убирается мусор из permgen ?
    #39377179
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Я разве не приводил эту ссылку? Там, вроде, достаточно доходчиво расписано какими крутилками Metaspace настраивается.
http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.html
Из этих крутлок реализация GC и исходит.

PermGen работал слегка иначе. На сколько я понял, Metaspace не заменяет PermGen на 100%, часть объектов пришлось оставить в обычной куче после отказа от PermGen. Но есть ли смысл изучать PermGen? Не проще ли принять его за устаревшую технологию?
...
Рейтинг: 0 / 0
Как убирается мусор из permgen ?
    #39377184
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestioner,

Я разве не приводил эту ссылку? Там, вроде, достаточно доходчиво расписано какими крутилками Metaspace настраивается.
http://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/considerations.html
Из этих крутлок реализация GC и исходит.

PermGen работал слегка иначе. На сколько я понял, Metaspace не заменяет PermGen на 100%, часть объектов пришлось оставить в обычной куче после отказа от PermGen. Но есть ли смысл изучать PermGen? Не проще ли принять его за устаревшую технологию?

я просто исходил из того, что это +/- одно и то же.

Ну мне не так интересны конкретные крутилки, хочу сначала верхнеуровенево понять
...
Рейтинг: 0 / 0
Как убирается мусор из permgen ?
    #39377189
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

ещё я не понял куда утекает пермген при работает с ThreadLocal
...
Рейтинг: 0 / 0
Как убирается мусор из permgen ?
    #39377237
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerя просто исходил из того, что это +/- одно и то же.
Ну, мне не так интересны конкретные крутилки, хочу сначала верхнеуровенево понять
Просто вопросы слишком детальные. Когда коллектор вызывается? Да, когда надо, тогда и вызывается. Это вообще не существенно для метаспейса и пермгена. С этим проблемы возникают крайне редко.
...
Рейтинг: 0 / 0
Как убирается мусор из permgen ?
    #39377240
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerещё я не понял куда утекает пермген при работает с ThreadLocal
ThreadLocal это класс, загружаемый бустрап класслоадером. Соответственно этот класслоадер никогда не будет собран, как и этот класс. Если вы, вдруг, не почистили ссылку, и она там валяется, то ГЦ не может собрать объект, так как ThreadLocal на него ссылается. Не может собрать объект, значит не может собрать и класс. Не может собрать класс, значит не может собрать и его лоадер. Не может собрать лоадер, значит не соберёт и все классы им загруженные (хотя эту багофичу может и исправят со временем). То есть лоадер и все его классы будут занимать место в пермгене.

Новые класслоадеры создаются контейнерами при загрузке новых модулей. Таким образом классы разных модулей изолируются друг от друга. Чаще всего это проявляется при редеплое модуля.
...
Рейтинг: 0 / 0
Как убирается мусор из permgen ?
    #39377314
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestionerещё я не понял куда утекает пермген при работает с ThreadLocal
ThreadLocal это класс, загружаемый бустрап класслоадером. Соответственно этот класслоадер никогда не будет собран, как и этот класс. Если вы, вдруг, не почистили ссылку, и она там валяется, то ГЦ не может собрать объект, так как ThreadLocal на него ссылается. Не может собрать объект, значит не может собрать и класс. Не может собрать класс, значит не может собрать и его лоадер. Не может собрать лоадер, значит не соберёт и все классы им загруженные (хотя эту багофичу может и исправят со временем). То есть лоадер и все его классы будут занимать место в пермгене.

Новые класслоадеры создаются контейнерами при загрузке новых модулей. Таким образом классы разных модулей изолируются друг от друга. Чаще всего это проявляется при редеплое модуля.

о, как круто! спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как убирается мусор из permgen ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]