Есть ли Linux Командная строка, которая показывает использование JVM Code Cache на данный момент? - PullRequest
0 голосов
/ 12 марта 2020

Мы получаем сообщение об ошибке в одном из наших Java приложений, работающих на Tomcat 7. Я ищу командную строку, которая может показать нам значение Code Cache в любой момент. Есть ли какая-либо команда, например jstat, которая может распечатать значение кэша кода?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 13 марта 2020

Подробную информацию можно получить из jcmd <PID> Compiler.codecache (при условии, что JDK, а не JRE; может также зависеть от версии JDK)

Существует даже гораздо более подробный jcmd <PID> Compiler.codelist.

0 голосов
/ 12 марта 2020

Я смог использовать JMXProxy и получить результат с помощью команды ниже. Я публикую его на тот случай, если кому-то еще понадобится использовать Code Cache для Tomcat.

curl -u '<tomcat jmx-user>:<tomcat-jmx-user-password>' --url "http://localhost:8080/manager/jmxproxy/?qry=*:type=MemoryPool,name=Code%20Cache" | grep -o -P '{committed=[0-9]*, init=[0-9]*, max=[0-9]*, used=[0-9]*}'

...