JVM profiling remoto con JVisualVM


Sto cercando di profilare le mie applicazioni jvm su un host remoto. Sto usando Jvisualvm Ho impostato jstatd come consigliato in questo http://www.codefactorycr.com/java-visualvm-to-profile-a-remote-server.html. Sono in grado di" telnet remotehost 1099 " con successo. Tutte le porte tcp / ip sono firewall aperto sul telecomando.

Ho aggiunto il mio host remoto in jvisualvm. Inoltre, assicurati che la porta jstatd sia la 1099 con un aggiornamento di 3 secondi.

Ho iniziato la mia applicazione con

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=8011 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false

Ma le mie applicazioni jvm non vengono visualizzate nel mio jvisualvm. C'è qualcos'altro che devo configurare o controllare ?

Jvisualvm 1.3.5 locale: Mac OSX Oracle jdk 1.6.37 a distanza: centos 6 oracle jdk 1.6.24

Author: smartnut007, 2013-02-06

2 answers

1) È necessario avviare l'applicazione con JMX abilitato
Esempio di connessione remota

-Dcom.sun.management.jmxremote    
-Dcom.sun.management.jmxremote.port=9990   
-Dcom.sun.management.jmxremote.authenticate=false   
-Dcom.sun.management.jmxremote.ssl=false  

2) Dovresti avere classi JMX per poter fare qualcosa con loro. Suppongo che tu sia a conoscenza di questo

 1
Author: Cratylus, 2013-02-05 20:07:38

È necessario avviare jstatd sulla macchina remota. A tale scopo creare un file jstatd.all.policy nella directory home della macchina remota e aggiungere le seguenti righe:

grant codebase "file:${java.home}/../lib/tools.jar" {   
    permission java.security.AllPermission;
};

Quindi sulla riga di comando della macchina remota si digita

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname={Your IP address} '

Una volta avviato il servizio jstatdsulla macchina remota, in pratica si aggiunge la connessione dell'indirizzo IP della connessione remota sull'interfaccia utente jvisualVM utilizzando aggiungi host remoto.

I documenti Oracle per JvisualVM possono essere indirizzati a https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/applications_remote.html ma è davvero confuso capire i passaggi di jstatd.

 1
Author: Mohit Hapani, 2017-11-07 21:12:53