JProfiler: требуется помощь для профилирования памяти - где я могу найти номера строк для выделения объектов

новое предупреждение:

Я начал свою 10-дневную пробную версию, и у меня возникли проблемы с выяснением того, как заставить ее найти то, что я ищу. У меня есть довольно сложное однопоточное Java-приложение, которое я пытаюсь никогда не GC. Я объединяю все свои объекты. Однако я, должно быть, пропустил несколько вещей. Я хотел бы узнать, где я выпускаю последнюю ссылку на объекты, которые возвращаются в кучу. Если я не могу этого найти, достаточно хотя бы знать, где создается память, которая позже подвергается сборке мусора.

Вот что я делаю до сих пор: 1. Нажмите «Живая память/Записанные объекты». 2. Нажмите «Запись» и выберите «Собранные объекты мусора, все распределения». 3. Нажмите «Запустить сборщик мусора».

так что теперь куча вещей появляется. Я надеялся, что смогу просто дважды щелкнуть, и это даст мне номера строк и подобные забавные вещи. Подобно тому, что я получил, когда запускал HPROF.

  1. Я щелкаю правой кнопкой мыши по одному из элементов и выбираю «показать дерево размещения для выбора».

По-прежнему нет номеров строк ... хотя это дает мне имя метода. Если метод большой, довольно сложно выяснить, где создается память.

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


person Brian Shmuel Waldman    schedule 06.05.2020    source источник


Ответы (2)


В настройках профилирования можно включить разрешение номера строки.

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

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

Когда вы снова начинаете запись, все предыдущие данные удаляются.

person Ingo Kegel    schedule 06.05.2020

Вы можете попробовать это:

  1. Нажмите «Живая память — Записанные объекты».

  2. Выберите объекты, которые вы хотите просмотреть, затем щелкните правой кнопкой мыши «Показать выбор в Heaper Walker» и выберите «Показать в текущем дампе кучи».

  3. Выберите объекты, которые вы хотите просмотреть, в новом окне Heap Walker, щелкните правой кнопкой мыши и выберите «Использовать выбранные объекты» и выберите «Распределения». Затем вы можете увидеть дерево размещения объектов, прочитав код метода, вы можете найти нужный номер строки.

person AFu    schedule 09.06.2020