Intellij Idea - Профилирование
Профилировщик дает представление о вашем приложении, например об использовании процессора, памяти и кучи. Он также дает подробную информацию о потоках приложения. В этой главе обсуждается использование инструмента VisualVM для профилирования Java-приложений. Он может профилировать такие объекты, как ЦП и куча.
Рекомендуется, чтобы читатели этого руководства были знакомы с концепциями профилировщика приложений.
Введение
VisualVM - это визуальный инструмент, который объединяет инструменты JDK и предоставляет мощные возможности профилирования. Он позволяет генерировать и анализировать данные кучи, отслеживать утечки памяти, контролировать сборщик мусора и выполнять профилирование памяти и ЦП.
Льготы
Визуальный интерфейс для локальных и удаленных Java-приложений, работающих на JVM.
Мониторинг использования памяти приложением и его поведения во время выполнения.
Мониторинг потоков приложений
Анализ распределения памяти для разных приложений.
Дампы потоков - очень удобно в случае тупиковых ситуаций и гонок.
Дампы кучи - очень удобны при анализе распределения памяти кучи.
Конфигурация
В этом разделе мы узнаем, как настроить VisualVM. Шаги следующие -
Загрузите его отсюда .
Распакуйте zip-файл.
Перейдите к файлу etc / visualvm.conf и добавьте в этот файл следующую строку -
visualvm_jdkhome=<path of JDK>
Если ваш JDK установлен в C:\Program Files\Java\jdk-9.0.1 каталог, тогда он должен выглядеть так -
visualvm_jdkhome="C:\Program Files\Java\jdk-9.0.1"
Приложение для мониторинга
Давайте теперь посмотрим, как контролировать приложение. Рассмотрим следующие шаги, чтобы понять то же самое -
- Дважды щелкните файл visualvm.exe.
- Выберите приложение на левой панели.
- Выберите вкладку монитора.
Вы будете перенаправлены в окно, где вы получите подробную информацию о процессоре, куче, классах и потоках. Чтобы конкретизировать использование, наведите указатель мыши на любой график. Мы видим использование кучи на скриншоте выше.
Информация о потоках
Приложение Java может содержать несколько потоков выполнения. Чтобы узнать больше о потоках, выберите вкладку Темы определенного приложения. Он предоставит различную статистику о потоках, такую как количество живых потоков и потоков демона. Различные состояния потока: «Выполняется», «Спящий», «Ожидание», «Парковка» и «Монитор».
Приложение для отбора проб
VisualVM поддерживает ЦП, выборку памяти и обнаружение утечек памяти. Чтобы образец приложения, выберите приложение и выберите вкладку образца -
Выборка процессора
Для выборки ЦП нажмите кнопку ЦП, как показано на следующем снимке экрана -
Профилирование памяти
Для профилирования памяти нажмите кнопку Память, как показано на следующем снимке экрана -
Утечки памяти
Утечка памяти происходит, когда приложение во время работы медленно заполняет кучу объектами, которые не удаляются программой автоматически.
Если объект, который не используется программой, не удален, он остается в памяти, и сборщик мусора не может освободить свое пространство. Если количество байтов и количество экземпляров в вашем приложении будет постоянно и значительно увеличиваться в вашей программе до точки использования всего пространства, это может быть признаком утечки памяти.
Приложение для профилирования
В этом разделе мы узнаем, как профилировать приложение. Чтобы профилировать приложение, выберите приложение на левой панели и щелкните вкладку профиля -
Профилирование процессора
Чтобы выполнить профилирование ЦП, нажмите кнопку ЦП, как показано на скриншоте ниже -
Профилирование памяти
Чтобы выполнить профилирование ЦП, нажмите кнопку ЦП, как показано на скриншоте ниже -