Инструмент динамического отслеживания Java с открытым исходным кодом от Alibaba — использование Arthas

Java

В этой статье только тестируется и изучается, как использовать команду Arthas, и не обсуждается принцип.Заинтересованные толстые друзья могут щелкнуть ссылку блога Meituan ниже, и объяснение очень хорошее.

Ссылки по теме

официальный сайт Arthas на китайском языке

Статья о динамическом отслеживании Java в блоге Meituan, объясняющая некоторые принципы, рекомендуется к прочтению.

Официальное справочное руководство по командам

вводить

Что такое арты, что они могут?

Вот скопируйте параграф официального документа, чтобы сказать вам.

Arthas — это инструмент диагностики Java с открытым исходным кодом от Alibaba, который очень популярен среди разработчиков.

Артас может помочь вам, когда вы столкнулись с такими проблемами, как:

  1. Из какого пакета jar загружается этот класс? Почему сообщается о различных исключениях, связанных с классом?
  2. Почему код, который я изменил, не выполняется? Это потому, что я не совершал? Ветвь неправильная?
  3. Если вы столкнулись с проблемой и не можете отладить ее онлайн, можете ли вы опубликовать ее повторно, только добавив журнал?
  4. Есть проблема с обработкой данных пользователя онлайн, но ее нельзя отладить онлайн или воспроизвести офлайн!
  5. Есть ли глобальный вид, чтобы увидеть работоспособность системы?
  6. Есть ли способ отслеживать рабочее состояние JVM в реальном времени?

Arthas поддерживает JDK 6+, поддерживает Linux/Mac/Winodws, использует режим взаимодействия с командной строкой и предоставляет богатые функции автозавершения вкладок для дальнейшего облегчения обнаружения и диагностики проблем.

Установить

Рекомендуемое использование:

wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar

Выберите процесс Java, который уже запущен.

Затем вы войдете в командную строку Arthas или можете открыть ее в браузере.127.0.0.1:8563, для работы через веб-интерфейс.

Функции

dashboard

Вы можете просмотреть информацию о памяти и информацию о потоках текущей JVM.

thread

Прямое использование может перечислить все потоки или использоватьthread 1, чтобы просмотреть информацию о стеке определенного потока (число позади является идентификатором потока).

jad

декомпилировать класс,jad demo.MathGame, декомпилированный исходный код будет напечатан в командной строке.

watch

пройти черезwatchкоманда для постоянного наблюдения за возвращаемым значением метода.

watch demo.MathGame primeFactors returnObj

покидать

Используйте команду exit/quit для временного выхода, и вы сможете продолжить подключение позже.

использоватьshutdownКоманда полностью отключает и сбрасывает файл класса.

sc,sm

Просмотрите соответствующую информацию о загрузке классов и информацию о загрузке методов.

trace

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

stack

Вывести путь вызова, где вызывается текущий метод

Заканчивать.





ChangeLog

2019-03-07 Завершено

Все вышеизложенное является личными мыслями, если есть какие-либо ошибки, пожалуйста, исправьте их в комментариях.

Добро пожаловать на перепечатку, пожалуйста, подпишите и сохраните исходную ссылку.

Контактный адрес электронной почты: huyanshi2580@gmail.com

Дополнительные заметки об обучении см. в личном блоге------>Huyan ten