VisualVM über Putty-SSH-tunnel

Ich versuche, remote-Profil-java-app, eigentlich ist es ein gameserver. Es normal funktioniert auf meiner lokalen Maschine (windows XP x64 mit JDK1.7.0_02 x64), aber verhält sich sehr komisch auf den Produktions-server (CentOS mit JDK1.7.0_03 i586).

Ich habe eine Menge Suche und fand heraus, dass ich verwenden soll, VisualVM für diese Aufgabe. So VisualVM funktioniert Super auf der lokalen Maschine, aber es gibt keine Hänger auf der lokalen Maschine, ich brauche profiling in der Produktionsumgebung mit realen Nutzlast. Ich begann jstatd auf der remote-Maschine mit Argumenten

jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=false &

mit der policy-Datei

grant codebase "file:/usr/java/jdk1.7.0_02/lib/tools.jar" {
    permission java.security.AllPermission;
};

dann begann ich meine java-Anwendung wie diese

java -server -Dcom.sun.management.jmxremote\
 -Dcom.sun.management.jmxremote.port=4000\
 -Dcom.sun.management.jmxremote.ssl=false\
 -Dcom.sun.management.jmxremote.authenticate=false\
 -jar /home/pinballSocketServer/pinballSocketServer.jar

Anwendung und jstatd gestartet werden, die mit root-priveledges.

und VisualVM nicht geschafft, eine Verbindung zum remote-host. Aber auf dem remote-host sehe ich das folgende Protokoll, während VisualVM ausgeführt wird und remote-host Hinzugefügt:

Feb 16, 2012 7:11:52 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-217.16.27.195: [217.16.27.195: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Feb 16, 2012 7:11:56 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-217.16.27.195: [217.16.27.195: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Feb 16, 2012 7:12:00 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-217.16.27.195: [217.16.27.195: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]
Feb 16, 2012 7:12:04 PM sun.rmi.server.UnicastServerRef logCall
FINER: RMI TCP Connection(3)-217.16.27.195: [217.16.27.195: sun.rmi.registry.RegistryImpl[0:0:0, 0]: java.rmi.Remote lookup(java.lang.String)]

Nach weiteren googlen fand ich heraus, dass ich brauchen, um ssh-tunneling. Ich konfiguriert den Kitt in der folgenden Weise

http://www.advancedigital.ru/show/putty_config.jpg

und VisualVM als diese

http://www.advancedigital.ru/show/visualvm_config.jpg

Adter munipulations oben VisualVM Verbindung zum remote-host, aber ich sehe nur die threads, die Zusammenfassung und profiler ist inaktiv.

Ich habe gesehen, einige Empfehlungen, die jvms auf beiden Maschinen sollten ähnlich sein und haben die gleiche Plattform (x86 oder x64), aber ich habe auch schon versucht profiling von einem anderen Rechner (windows 7 x86 mit JDK1.7.0_03 x86), und das gleiche Ergebnis.

Ich habe auch dies versucht, bekomme aber das gleiche Ergebnis wieder.
VisualVM über ssh

Wie kann ich diese Profilierung zu arbeiten?

2 Jahre später aber ich habe auch meine Art tunelling.

InformationsquelleAutor Anton Boritskiy | 2012-02-16

Schreibe einen Kommentar