Wie verwenden von VisualVM und JMX?
Habe ich versucht, jedes Rezept im Buch, aber Dinge, die einfach nicht arbeiten heute...
Ich versuche, mit VisualVM zu Profil meine Java-app läuft in einem remote-server, so dass ich gegoogelt und gegoogelt und gegoogelt nach Möglichkeiten, dies zu tun und ich am Ende mit dieser Lösung:
java -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9199 \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar bin/felix.jar
Laufen, das wird mir JMX zu laufen, ich denke, so kann ich ihn sehen, läuft auf 9199:
java 21947 root 9u IPv6 1811434 0t0 TCP *:7192 (LISTEN)
java 26376 root 14u IPv6 1844518 0t0 TCP *:9199 (LISTEN)
Zudem kann ich testen, ob der port ist sichtbar auf der web:
Nun, wenn ich versuche, öffnen Sie die Verbindung im VisualVM in meinem Rechner (das kann auch den ping-jmx-server) geschieht dies:
Ich muss so dumm, dass jeder in dieser Welt war in der Lage, um dieses Ding läuft, aber mir. Verdammt...
EDIT: ich wireshark installiert, um zu wissen, was Los ist unter der Haube, so sah ich dies. Sobald ich fügen Sie eine remote-IP-Adresse in VisualVM wireshark startet die Erkennung dieser repetitive Tätigkeit:
Jedoch, wenn ich versuche, fügen Sie einen neuen JMX-Verbindung und Fragen Sie ihn anschließen, wireshark wird nicht greifen, auch nur ein einziges Päckchen der Verbindung versuchen.
Diese scheint mir, dass VisualVM ist, nicht einmal versuchen, eine Verbindung herstellen, trotz Angabe der Fehlermeldung "kann Nicht verbinden"...!! Was zur Hölle ist Los?
Ich habe versucht, vor 🙁 nichts scheint zu funktionieren, obwohl der port nicht sichtbar auf das web.
Aus Neugier gibt es eine firewall zwischen Ihrem Computer und den Prozess, der die JMX aktiviert? Ich weiß, Sie sagen-port 9199 geöffnet ist; jedoch, JMX erfordert einen 2. port wird zufällig zugeteilt und ist nicht konfigurierbar. Dies verursacht große Probleme, wenn Sie versuchen, verwenden Sie die JMX-durch eine firewall. Wahrscheinlich nicht dein problem einfach nur werfen es da draußen so was zu schauen: blogs.oracle.com/jmxetc/entry/...
Ich kenne keine firewall vorhanden ist. die Systemadministratoren verantwortlich für das Netzwerk sagen, dass es ist keine firewall dazwischen. JMX muss ein enger verwandter des DCOM-Technologie. Wie kann Sie drehen sich solche einfachen Dinge, die in über engineered und non-working-Lösungen... verdammt...
InformationsquelleAutor PedroD | 2015-05-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Befolgen Sie die unten aufgeführten Schritte.
1) Gehen Sie zum remote-Rechner öffnen, X11-Weiterleitung,
2) Installiert XMING in windows
3) Starten Sie visual VM in Remote-Rechner die GUI wird kommen in Ihre windows xming.
4) Anstelle der IP localhost verwenden, und verwenden Sie dieselbe port-Nummer.
Wenn die oben genannten Schritte nicht funktioniert, es bedeutet, dass etwas falsch mit der Konfiguration.
Wenn die oben genannten Schritte arbeiten, gut, dann gehen Sie zu iptables und gewährleisten port 9199 offen für die äußere Welt.
ebenso starten Sie das Programm mit
java -Djava.rmi.server.hostname=YOUR_IP
Für mehr details Lesen Sie bitte dieses link
InformationsquelleAutor prashant thakre
Starten Sie den Dienst mit folgenden Optionen:
Dann können Sie jvisualvm oder jconsole eben mit der "193.163.XXX.XXX:9199" - Adresse.
InformationsquelleAutor Uwe Meding
Bitte verwenden Sie das folgende JVM-Optionen :
In der VisualVM verwenden Sie die folgenden zu verbinden:
Hoffentlich helfen.
Haben Sie die java-Optionen, die ich zur Verfügung gestellt haben. Es ist ein wenig anders von dir : -Djava.rmi.server.hostname=<IP>
Ja. java -Dcom.Sonne.management.jmxremote -Dcom.Sonne.management.jmxremote.port=9199 -Dcom.Sonne.management.jmxremote.authenticate=false -Dcom.Sonne.management.jmxremote.ssl=false -Djava.rmi.server.hostname=193.136.102.224 -jar bin/felix.jar
Und in VisualVM: service:jmx:rmi:///jndi/rmi:/193.136.102.224:9199/jmxrmi
Sorry, ich bin nicht in der Lage, Ihnen zu helfen. Könnten Sie bitte versuchen hawtio : hawt.io/getstarted . Kurz, es stellt JMX-über-HTTP. Ich habe verwendet, um den monitor tomcat. Gemäß der Dokumentation, die Sie benötigen, um zu tun so etwas wie dieses: java-jar hawtio-app-1.4.50.jar --port 8090
InformationsquelleAutor Arnab Biswas