2015-09-11 12 views
5

ho iniziato una jstatd sul server remoto (Ubuntu Server 14.04):jvisualvm connettersi alla jstatd remoto non mostrando applicazioni

jstatd -J-Djava.security.policy=.jstatd.all.policy -J-Djava.rmi.server.logCalltrue -p 9099 

e cercare di connettersi ad esso con jvisualvm su Windows. Ho controllato netstat, la connessione viene stabilita, e sul telecomando viene registrato la chiamata:

Sep 11, 2015 12:48:51 PM sun.rmi.server.UnicastServerRef logCall 
FINER: RMI TCP Connection(4)-10.82.199.0: [10.82.199.0: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)] 
Sep 11, 2015 12:48:55 PM sun.rmi.server.UnicastServerRef logCall 
FINER: RMI TCP Connection(4)-10.82.199.0: [10.82.199.0: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)] 
Sep 11, 2015 12:48:59 PM sun.rmi.server.UnicastServerRef logCall 
FINER: RMI TCP Connection(4)-10.82.199.0: [10.82.199.0: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)] 

Tutti i segni stanno dicendo che sta funzionando. ma comunque nessuna applicazione sta mostrando in jvisualvm:

enter image description here

enter image description here

risposta

11

Apparentemente VisualVM si aspetta un nome DNS coerente per il server si sta cercando di connettersi in remoto (Ubuntu Server 14.04 nel tuo caso) . Quindi, se si sta specificando un indirizzo IP anziché un nome DNS a VisualVM si dovrebbe aggiungere la seguente alla linea di avvio jstatd:

-J-Djava.rmi.server.hostname=<the IP address to your Ubuntu server here> 

Inoltre, ho scoperto che specificando l'opzione port (-p 9099 nel tuo caso) è non supportato in alcune versioni VisualVM:

limitazione nota: in questo VisualVM rilasciare il j la porta predefinita e il rminame di statd devono essere usati quando si avvia l'utilità jstatd, cioè l'uso delle opzioni -p e -n non è supportato. VisualVM Troubleshooting Guide

Tutto sommato, si dovrebbe provare eseguendo la seguente riga jstatd sul vostro Ubuntu Server:

jstatd -J-Djava.security.policy=.jstatd.all.policy -J-Djava.rmi.server.hostname=10.82.83.117 -J-Djava.rmi.server.logCalltrue 


Fonti:

  1. http://www.catify.com/2012/09/26/remote-monitoring-with-visualvm/
  2. ha funzionato per me :)
+0

aggiungendo l'indirizzo IP come l'opzione nome host risolto il problema per me. Grazie per la risposta. – thaspius

0
jstatd -p 1099 -J-Djava.rmi.sver.hostname=10.250.105.112 -J-Djava.security.policy=<(echo 'grant codebase "file:${java.home}/../lib/tools.jar" {permission java.security.AllPermission;};')  

per me funziona perfettamente

Problemi correlati