Как получить текущее / максимальное использование кучи jvm (одно значение) с помощью jstat или другого инструмента на основе командной строки?

JConsole или J VisualVM показывают максимальный размер кучи и текущее использование кучи. Как я могу получить те же значения в течение срока службы приложения, используя инструмент на основе командной строки, такой как jstat?

Из показателей, которые я собираю с помощью jstat -gc (S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT), как я могу вычислить использование кучи (одного значения), которое дается JConsole/Visual VM?

2 ответа

Помимо использования jstat или же jpsвы спрашиваете об использовании JMX-клиента, такого как jmxterm, для доступа к этим метрикам на сервере. Другим вариантом будет включение Jolokia в серверное приложение, которое будет предоставлять MBeans на сервере по HTTP, так что вы можете использовать cURL в Bash-скрипте, например.

Вы можете использовать некоторую команду bash вместе с jstat, чтобы получить желаемый результат. Например, следующее даст вам доступное пространство Eden.

jstat -gc <PID> | sed -n 2p | awk '{ print $6; }'
Другие вопросы по тегам