Wie aktiviert man JMX auf einer JVM für den Zugriff mit jconsole?
Sollten Sie in der Lage sein, den Port 1234 zu sehen, der von jmx verwendet wird, sobald Sie dies ausführen? sudo lsof -i:1234
zeigt bei mir nichts an
Wie aktiviert man JMX auf einer JVM für den Zugriff mit jconsole?
Zuerst müssen Sie prüfen, ob Ihr Java-Prozess bereits mit JMX-Parametern läuft. Tun Sie dies:
ps -ef | grep java
Überprüfen Sie den Java-Prozess, den Sie überwachen müssen. Wenn Sie den Parameter jmx rmi sehen können Djmx.rmi.registry.port=xxxx dann verwenden Sie den hier genannten Port in Ihrem Java VisualVm, um eine Remote-Verbindung über eine JMX-Verbindung herzustellen.
Wenn es nicht über jmx rmi port läuft, müssen Sie Ihren Java-Prozess mit den unten genannten Parametern ausführen:
-Djmx.rmi.registry.port=1234 -Djmx.rmi.port=1235 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Hinweis: Die Anschlussnummern richten sich nach Ihrer Wahl.
Jetzt können Sie diesen Anschluss für die JMX-Verbindung verwenden. Hier ist der Port 1234
.
Ich hatte genau dieses Problem, und ein GitHub-Projekt zum Testen und Herausfinden der richtigen Einstellungen erstellt .
Es enthält eine funktionierende Dockerfile
mit unterstützenden Skripten, und eine einfache docker-compose.yml
für schnelle Tests.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
33 Stimmen
Es ist erlaubt, und eigentlich ist es nur eine Erinnerung für mich, weil ich immer vergesse, woher ich die Parameter kopiere, und jetzt weiß ich, wo ich sie finde :-)
21 Stimmen
Stack Exchange hat die Benutzer immer ausdrücklich dazu ermutigt, ihre eigenen Fragen zu beantworten, siehe hier: stackoverflow.com/help/self-answer
11 Stimmen
Mehr als einmal habe ich SO nach etwas gesucht und eine Antwort auf eine Frage gefunden... von mir selbst. Und eine dieser Fragen wurde auch von mir gestellt. Deshalb ist es gut, wenn man seine eigenen Antworten einstellt. Denken Sie auch an all die anderen Leute, die vielleicht auf Ihr Problem gestoßen sind, wenn Sie Ihre Frage beantworten, werden Sie auch ihnen helfen.
2 Stimmen
Das aktualisierte Dokument für Java 8 lautet aquí
0 Stimmen
@Mauren: Können Sie einen Hinweis auf Ihre geschlossene Frage geben, die Sie selbst beantwortet haben? Es könnte sich lohnen, darüber auf Meta zu diskutieren.
0 Stimmen
@kevinarpe Es tut mir leid. Das ist schon lange her und ich bin nicht mehr in der Lage, Ihnen den Link und den Inhalt zur Verfügung zu stellen.
0 Stimmen
Die Frage sollte erwähnen, dass Sie genau das gleiche Problem haben können, wenn jvisualvm beim Versuch, CPU-Sampling zu starten, die Meldung "Failed to create JMX connection to target application" ausgibt.