Как называется класс, перегружающий мою кучу? - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть программа java, которая в течение примерно 16 часов медленно заполняет кучу целочисленными массивами, от которых G C не избавляется. У меня есть только visualVM для диагностики проблемы, и я обнаружил, что int [] заполняет кучу. Любые идеи, как я могу найти источник создания int []? Я новичок в использовании профилировщика, так что, может быть, я пропустил эту функцию, но я использовал ее дамп кучи, снимок и профилировщик, чтобы посмотреть на это, и все, что он говорит мне, это то, что int [] широко используется.

1 Ответ

0 голосов
/ 30 апреля 2020
  1. С помощью инструмента JDK jmap извлеките дамп памяти с помощью команды
jmap -dump:live,format=b,file=dumplive.hprof <PID>
Импорт файла hprof в Eclipse Memory Analyzer (MAT) .
  • также может быть установлен как плагин в установке Eclipse, но я не рекомендую, если дамп слишком большой.

С анализатором вы может видеть всю информацию об использовании памяти в момент захвата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...