Доступ к свойствам JVM из командной строки - PullRequest
1 голос
/ 30 июня 2011

У меня есть несколько экземпляров JBoss 5.1.0, работающих на JDK1.6 на RHEL5. Я хотел бы получить доступ к информации heap / permgen / etc с их виртуальных машин.

В конфигурации JBoss явно не включен JMX на JVM для удаленного доступа с JConsole / JVisualVM.

Я могу получить доступ к информации, связанной с JBoss, через Twiddle, и, если бы у меня был графический интерфейс на этом компьютере, я мог бы получить доступ к этой информации, запустив JConsole / JVisualVM (JDK 1.6 разрешает подключение этих клиентов после был запущен, даже без параметров com.sun.management).

Есть ли способ получить доступ к этой информации без перезапуска этих виртуальных машин?

Я могу представить себе следующие способы:

  • Использование Twiddle для доступа к этой информации через консоль JBoss JMX - если это возможно, что я должен передать, чтобы найти информацию?
  • Использование клиента командной строки для подключения к работающему JDK так же, как это делает JConsole. Я знаю о cmdline-jmxclient, но не знаю, способен ли он на это.

1 Ответ

0 голосов
/ 30 июня 2011

Решением является использование jstat:

jstat -gccapacity -t 4994 5s

В этой строке выводится информация о емкости сборщика мусора, а также временная метка для процесса 4994 каждые 5 секунд.

Вам необходимобудьте правильным пользователем, чтобы получить доступ к ВМ, поэтому для меня вышеприведенная команда должна была быть выполнена sudo -u jboss jstat ....

На странице документации есть намного больше информации.

...