Эта статья основана на виртуальной машине HotSpot, JDK версии 1.8.0_171, системе Windows
содержание
1. jps: инструмент состояния процесса виртуальной машины Во-вторых, jstat: инструмент мониторинга статистики виртуальных машин. В-третьих, jmap: инструмент сопоставления памяти Java. В-четвертых, jhat: инструмент для анализа моментальных снимков дампа кучи виртуальных машин. Пять, jstack: инструмент трассировки стека Java Шесть, jinfo: информационный инструмент конфигурации Java
Мы должны быть знакомы с двумя инструментами командной строки java и javac, но в дополнение к этим двум инструментам jdk/bin также предоставляет нам множество инструментов для использования.Сегодня мы кратко представим инструменты, связанные с мониторингом виртуальных машин и устранением неполадок.
1.jps (инструмент состояния процесса JVM)
Он используется для отображения всех процессов виртуальной машины HotSpot в указанной системе и может отображать основной класс выполнения виртуальной машины и уникальный идентификатор (LVMID, Local Virtual Machine Identifier) локальной виртуальной машины. , поэтому его необходимо использовать.Для процесса локальной виртуальной машины LVMID совпадает с идентификатором процесса операционной системы.
Используйте формат:jps [options] [hostid]
jps может запрашивать процесс виртуальной машины, который удаленно запускает службу RMI через протокол RMI.hostid — это имя хоста, зарегистрированное в реестре RMI.
2. jstat (инструмент мониторинга статистики JVM)
Инструмент для мониторинга различной информации о рабочем состоянии виртуальных машин, который может отображать текущие данные, такие как локальная или удаленная загрузка класса процесса виртуальной машины, память, GC, JIT и т. д. На серверах без графического интерфейса изображения он в основном используется во время выполнения. Найдите проблемы с производительностью.
Используйте формат:jstat [option vmid [interval [s|ms] [count]] ]
interval
представляет интервал запроса,s|ms
секунды и миллисекунды (по умолчанию миллисекунды, т.е. если единица не написана в миллисекундах),count
Указывает количество запросов.
Пример: указывает, что статус GC процесса виртуальной машины с LVMID 34216 проверяется каждые 5 секунд, всего 10 раз.
3.jmap (карта памяти для Java)
Он используется для создания моментального снимка дампа кучи (heapdump или файла дампа) Проще говоря, он предназначен для экспорта моментального снимка использования кучи Java для просмотра и использования для устранения неполадок.
Используйте формат:jmap [option] vmid
4.jhat (инструмент анализа кучи JVM)
Это используется в сочетании с jmap.Файл моментального снимка кучи, экспортированный jmap, открывается и анализируется с помощью jhat.
Используйте формат:jhat [-stack <bool>] [-refs <bool>] [-port <port>] [-baseline <file>] [-debug <int>] [-version] [-h|-help] <file>
Пример:
5.jstack (трассировка стека для Java)
Используется для создания снимка потока (threaddump или javacore) в текущий момент виртуальной машины. Он в основном используется для определения причины длительной паузы в потоке, оценки взаимоблокировки, бесконечного цикла и т. д. Через jstack вы можете узнать стек вызовов каждого потока.
Используйте формат:jstack [option] vmid
Пример:
6.jinfo (Информация о конфигурации для Java)
Используется для просмотра и настройки различных параметров виртуальной машины.
Используйте формат:jinfo [option] pid
Некоторые параметры можно добавлять и удалять с помощью -flag[+|-] name, или некоторые параметры можно изменять с помощью -flag name=value, но многие параметры изменять нельзя
Эпилог
В этой статье в основном кратко представлены несколько распространенных инструментов командной строки JDK, которые рекомендуется использовать самостоятельно.命令 -option
Проверяйте актуальное значение каждой опции и используйте ее, ведь такая опция вообще не запоминается. И некоторые из этих инструментов относительно просты, например jhat, анализ этой штуки прост, а интерфейс простой, а не мощный и профессиональный. Таким образом, эти инструменты командной строки в основном предназначены для понимания и приблизительного понимания их функций.
Как обычно, визуальные инструменты, такие как JConsole и VisualVM (универсальный инструмент для устранения неполадок Java), используются для анализа производительности мониторинга сбоев, а некоторые инструменты, такие как MAT, также используются в IDE.
Эта статья относится к четвертой главе «Углубленное понимание виртуальной машины JAVA».
Пожалуйста, поправьте меня, если есть ошибки!
Личный публичный аккаунт: стратегия прокачки да
Имеются соответствующие расширенные материалы интервью (распространение, настройка производительности, классическая книга в формате pdf), ожидающие сбора.