Для программного доступа к статистике удаленной JVM (параметры системы JVM, статистика потоков, информация Memomy, информация GC и другая информация) можно использовать JMX . Для этого удаленная JVM должна разрешить соединение JMX ( Проверьте, как активировать JMX в удаленной JVM ). Как правило, вам необходимо установить следующие параметры -D в удаленной JVM с соответствующими значениями:
-Dcom.sun.management.jmxremote.port=1234
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=127.0.0.1
Как только вышеуказанные настройки будут выполнены, подключитесь к порту JMX и получите различную информацию Mbean с удаленного сервера из вашего приложения: Ниже приведен пример кода:
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + HOST + ":" + PORT + "/jmxrmi");
JMXConnector jmxConnector = JMXConnectorFactory.connect(url);
MBeanServerConnection mbeanServerConnection = jmxConnector.getMBeanServerConnection();
С помощью этого mbeanServerConnection
вы можете получить доступ к различным управляемым bean-компонентам и получить необходимую информацию от MX-bean-компонентов. Для системных свойств вам нужно получить bean-компонент RuntimeMXBean
и вызвать getSystemProperties()
, чтобы получить все системные параметры.