jstat- Анализ

jstat – это простой служебный инструмент, который присутствует в JDK для предоставления статистики, связанной с производительностью JVM, такой как сборка мусора, действия по компиляции. Основным преимуществом jstat является его способность динамически фиксировать эти показатели, когда JVM работает без каких-либо предварительных инструментов. Что мы под этим подразумеваем? Скажем, например, если вы хотите получить статистику, связанную со сборкой мусора, вам необходимо передать следующие аргументы, прежде чем запускать JVM:

 -Xlog:gc*:file={file-path}

Этот аргумент позволит Журналы GC и распечатайте их по указанному пути к файлу. Допустим, вы не передали этот аргумент, тогда статистика, связанная с сборщиком мусора, не будет сгенерирована. Здесь может пригодиться jstat. Вы можете динамически подключаться к JVM и захватить сборщик мусора, статистику, связанную с компиляцией, как показано ниже.

Как запустить jstat?

Выполните команду ниже. Это простой вариант запустить jstat.

 jstat -gc -t 11656 10000 30

-gc: будет напечатана статистика, связанная со сборкой мусора

-t будет напечатана метка времени с момента запуска JVM

11656: идентификатор целевого процесса JVM

10000: статистика будет печататься каждые 10 000 миллисекунд (т. е. 10 секунд).

30: статистика будет напечатана за 30 итераций. Таким образом, указанная выше опция заставит JVM печатать метрики в течение 300 секунд (т. Е. 10 секунд x 30 итераций).

(Обратите внимание, помимо -gc, вы можете передавать различные другие параметры для создания различных наборов данных. Для получения дополнительных сведений о различных параметрах вы обратитесь сюда.)

Данные, сгенерированные jstat

Когда вы запускаете jstat с указанными выше параметрами, будет сгенерирован вывод:

jstat-usage.png

Рис: вывод jstat

Timestamp – время с момента запуска целевой JVM в секундах.

S0C – Емкость области выжившего 0 в КБ

S1C – Емкость области выжившего 1 в КБ

S0U – Выживший 0 регион занятого места в КБ

S1U – использованное пространство выжившего 1 региона в КБ

EC – Емкость региона Эдем в КБ

ЕС – используемая площадь региона Эдем в КБ

OC – ​​Емкость старого региона в КБ

OU – Используемое пространство старого региона в КБ

MC – Емкость области Metaspace в КБ

MU – Используемое пространство области Metaspace в КБ

CCSC – емкость областей сжатого пространства классов в КБ

CCSU – сжатые области пространства классов, используемые пространство в КБ

YGC – количество событий Young GC, которые произошли на данный момент

YGCT – количество потраченного на данный момент времени Young GC

ФСК – Количество События полного сборщика мусора что произошло до сих пор

FGCT – количество потраченного на данный момент времени полной сборки мусора

GCT – общее количество времени, потраченного на сборку мусора (в основном YGCT + FGCT)

Как интерпретировать вывод jstat?

Имея эту информацию, давайте попробуем интерпретировать первую строку, напечатанную инструментом jstat в приведенном выше примере:

2019-11-20-jstat.png

Рис: первая строка вывода jstat

Инструмент для анализа вывода jstat

Одна из проблем с jstat – вам нужно вручную анализировать сгенерированную статистику. Это будет утомительно, поскольку, как вы можете видеть, просто чтобы понять / интерпретировать одну-единственную строку, требуется довольно много времени. Ты можешь использовать GCeasy инструмент, который может анализировать вывод jstat и генерировать информативные графики и метрики. Вот отчет об анализе jstat, сгенерированный GCeasy путем анализа вышеуказанных выходных данных jstat. (Https://gceasy.io/diamondgc-report.jsp?p=YXJjaGl2ZWQvMjAxOS8xMS8xOC8tLTE2LWdjZWFzeS1sb2NhbC50eHQtLjt=ru)

Подробнее здесь: Ограничение jstat

.

Статьи по Теме

Анализ журнала ГХ дополняет APM

Недавно умный технический менеджер из крупного финансового учреждения задал вопрос: «Мы уже используем инструмент APM (AppDynamics), зачем нам нужен инструмент анализа журнала GC (GCeasy)?». Справедливый…

Микрометика для конвейера CI / CD

Непрерывная интеграция / непрерывное развертывание (CI / CD) стало центральным элементом разработки программного обеспечения. Чтобы обеспечить выпуск высококачественного программного обеспечения, в конвейере CI / CD…

Микрометрии для конвейера CI / CD

Начните писать здесь … Непрерывная интеграция / непрерывное развертывание (CI / CD) стало центральным в разработке программного обеспечения. Чтобы обеспечить выпуск высококачественного программного обеспечения, в…

EDA становится проще с SWEETVIZ

EDA становится проще с SWEETVIZ Sweetviz – это библиотека Python с открытым исходным кодом, которая генерирует простые для рендеринга отчеты для выполнения EDA с помощью…

Ответы

Ваш адрес email не будет опубликован. Обязательные поля помечены *