jprofile: как определить, почему эта память в приложении продолжает увеличиваться в своем (приложении) идеальном режиме

Я запустил JProfiler в одном из наших приложений:

это снимок JProfiler> Телеметрии> Память:

введите описание изображения здесь

Вы можете увидеть как минимум четыре высоких, медленно увеличивающихся объема памяти, когда приложение находится в ИДЕАЛЬНОМ режиме. Я не мог понять, почему это происходит. Может ли кто-нибудь помочь мне найти более подробную информацию.

Мы используем SpringMVC, Hibernate, DWR, Quartz (для планирования) и другие как обычные (общее ведение журнала).

Редактировать:

Это увеличение памяти в идеальном режиме приложения состоит в основном из char [] и int []. Я получил это из Jprofiler> Живая память> Все объекты. Вы можете увидеть здесь:

введите описание изображения здесь

И я не могу записать эти объекты. Я попытался получить более подробную информацию, но не смог этого сделать, и когда я пытаюсь выполнить char [] Щелкните правой кнопкой мыши> Показать выделение в Heap Walker: тогда отображается только несколько КБ. Вы можете увидеть здесь:

введите описание изображения здесь

Заранее спасибо за вашу помощь.


person murtaza.webdev    schedule 26.11.2014    source источник


Ответы (1)


Это временное потребление памяти, которое трудно проанализировать. Может быть много недолговечных объектов, которые не отображаются в моментальном снимке кучи.

Один из способов отслеживать созданные объекты - использовать представление «Память-> Записанные объекты» и вызывать

Просмотр-> Изменить режим жизнеспособности-> Объекты, собранные в мусоре

из меню (или панели инструментов). После освобождения памяти вы анализируете совокупную статистику по недолговечным объектам, которые были удалены сборщиком мусора.

Чтобы увидеть, где были размещены эти объекты, вы можете щелкнуть правой кнопкой мыши по строкам и выбрать «Показать дерево размещения» или «Показать горячие точки размещения» в контекстном меню.

person Ingo Kegel    schedule 26.11.2014