Вам необходимо установить JMXConnector. Вот фрагмент кода, который получит фиксированное использование памяти кучи на удаленном компьютере.
String host ="myHost";
int port = 1234;
HashMap map = new HashMap();
String[] credentials = new String[2];
credentials[0] = user;
credentials[1] = password;
map.put("jmx.remote.credentials", credentials);
JMXConnector c = JMXConnectorFactory.newJMXConnector(createConnectionURL(host, port), map);
c.connect();
Object o = c.getMBeanServerConnection().getAttribute(new ObjectName("java.lang:type=Memory"), "HeapMemoryUsage");
CompositeData cd = (CompositeData) o;
System.out.println(cd.get("committed"));
private static JMXServiceURL createConnectionURL(String host, int port) throws MalformedURLException
{
return new JMXServiceURL("rmi", "", 0, "/jndi/rmi://" + host + ":" + port + "/jmxrmi");
}
Если вы не заботитесь о безопасности, вы можете установить карту на ноль. Вам необходимо запустить удаленный сервер с;
-Dcom.sun.management.jmxremote.port=1234
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Возможно, вы захотите взглянуть на wlshell , небольшую утилиту, которая позволяет вам получить доступ к MBeans на удаленном сервере с помощью текстового интерфейса или скрипта. Она может использоваться с WebLogic, но работает для любой Java-программы, в которой вы включили удаленный мониторинг.