Bekommen heap-dump aus einer remote-Anwendung in Java mit JVisualVM
Ich JVisualVM laufen (Windows XP, Sun Java 1.6.0.13, 32-bit-client-VM) zum überwachen einer Fernen Anwendung (Linux, Sun Java 1.6.0.07, 64-bit-server-VM). Vor Beginn der eigentlichen remote-Anwendung, die ich starte auf dem entfernten Rechner jstatd
mit einem all-access-policy:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
Dann beginne ich mit der eigentlichen app über die Befehlszeile
java -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=3333
compileTest.Main
Vom client-Computer aus, ich kann sehen, dass die Fernen app und zu überwachen. Ich kann auch ein thread-dump etc. Leider ist die heap-dump-button ist ausgegraut.
Wie bekomme ich einen heap-dump aus einer Remote überwachten Anwendung mit JVisualVM?
Versuchte ich mit jConsole. Mit jConsole ist es möglich, eine Fernen heap-dump mit der com.Sonne.management.HotSpotDiagnostic dumpHeap-Betrieb. Ich will den dump zu übertragen, um die client-Seite und analysiert mit Hilfe der tools von JVisualVM. Wie kann ich dies tun?
guter Punkt! Ich navigierte mich zu dieser Frage/Thema, denn ich habe die gleiche Frage wie stackoverflow.com/questions/8799929/..., und ich denke, dass deine Aussage/Annahme richtig ist. Wenn ich tomcat/tomee über mein NetBeans IDE auf meinem Entwickler-PC/ - server, dann die Sampler>Speicher-Taste ist aktiviert, aber der Sampler>Taste Memory ist deaktiviert, auf Produktions-server, da tomcat/tomee ist die Ausführung als Windows-Dienst, und ich bin 'nicht' angemeldet Produktions-service als system-oder localservice -. 🙁
InformationsquelleAutor Philipp | 2009-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es einen Weg, es zu tun!
Auf remote-Maschine haben, verwenden Sie Folgendes
jmap -dump:file= :1099
jhat
Den oben starten Sie eine web application auf port 7000
Alle oben genannten tools sind Bestandteil von JDK 1.6
Alle die besten!!!
InformationsquelleAutor
Leider gibt es keinen automatisierten Weg, dies zu tun. Sie müssen laufen jmap manuell auf den Linux-server-heap-dump von Ihrer JVM und dann kopieren Sie den resultierenden heap-dump auf Ihrem lokalen Rechner ausgeführt JVisualVM und mit " Datei|Laden... zum laden der heap-dump in JVisualVM für die Analyse.
InformationsquelleAutor Yeroc
Seit 1.3, VisualVM-Unterstützung remote-heap-dumps:
Finden Sie unter: VisualVM 1.3 Veröffentlicht
InformationsquelleAutor Ko-Chih Wu
Können Sie nicht analysieren heap aus der Ferne. Man könnte visualvm auf Ihrem server und exportieren Sie die x-Sitzung auf Ihrem lokalen Rechner. Sie haben x11 auf Ihrem server installiert ist, die viele Server nicht.
InformationsquelleAutor Ichorus