Как получить текущее / максимальное использование кучи 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; }'