Ich habe dies Get a heapdump on JVM from Tomcat 6 versucht, aber es funktioniert nicht für mich, Gibt es andere Möglichkeiten, Heap Dump von Tomcat Server zu bekommen? Danke im Voraus!Möglichkeiten, wie man Heap Dump von laufenden Tomcat 7
Antwort
Der einfachste Weg, um Heap Dump zu erhalten, ist jmap zu verwenden. Führen Sie auf dem Computer mit Java-Prozess den Befehl jmap aus. Anwendungsbeispiel:
jmap -dump:file=/mnt/heapdump_2013-04-01.data 29842
Verwendung jps wissen java Pid.
Auch Sie können Heap Dump über jvisualvm machen. Sie können über jmx oder jstatd eine Verbindung zur Remote-Maschine herstellen. Sie können Heapdump erstellen und auf dem Remotecomputer speichern.
Zur Analyse von Heapdumps können Sie: MAT. Sehr leistungsfähiges Werkzeug, mit dem Sie Probleme schnell verstehen können. Sie können here gute inro zum MAT finden.
Wenn Sie nicht wollen, Anwendung für eine lange Zeit stoppen Sie binäres Dump machen können (You can use gcore or gdb). Und Sie können use jmap to analyze gdb dump. Weitere Informationen finden Sie auf der atlassian blog. Vorsicht vor someissues.
Sie müssen möglicherweise "sudo" verwenden – th3morg
Ein anderer Weg neben dem "Dump Heap" -Button von jvisualvm ist über die JMX-Schnittstelle. Auf diese Weise können Sie sogar angeben, wo der Speicherauszug gespeichert werden soll.
Verbindung zum Tomcat JMX-Server mit Jconsole oder jvisvismvm mit JMX-Plugin. Dann kam zu com.sun.management
->HotSpotDiagnotic
->Operations
. Geben Sie neben dumpHeap
die zwei Parameter ein. Von Oracle-Dokumentation (siehe here):
Parameter:
output - die systemabhängige Dateinamen
leben - wenn sie wahr Dump nur Objekte leben Objekte also, die von anderen erreichbar sind
Drücken Sie dann dumpHeap
und beobachten Sie, wie die VM für einige Zeit beim Schreiben des Dump einfriert.
Ich empfehle Visual VM http://visualvm.java.net/ Es ist ein All-in-One-Tool, das mit Tomcat verbinden kann, erstellen und lesen Heap-Dump, erstellt Thread-Dump, CPU und Speicher-Sampler.
Wenn Sie neue jdk 1.7 verwenden, ist VisualVM bereits in Ihrem jdk-Ordner verpackt.
- 1. So erfassen Sie einen Heap-Dump von einer laufenden JVM
- 2. Java 7-Trigger-Heap-Dump ohne JDK installiert
- 3. Ein Heap Dump auf bereits abgestürztes System
- 4. Java-Webstart-Heap-Dump
- 5. Tomcat warf "java.lang.OutOfMemoryError: Java-Heap-Speicherplatz", aber Heap-Größe in Dump ist kleiner als -Xmx
- 6. wie man tomcat server automatisch durch tomcat 7 maven plugin
- 7. Anforderung Java-Heap-Dump (Kern-Dump) aus der Anwendung
- 8. RestAssured Testing ohne laufenden Tomcat
- 9. Ist es möglich zu wählen, ob ein Heap Dump oder nicht im laufenden Betrieb generiert wird?
- 10. Was ist ein Heap-Dump in Oracle
- 11. Nicht Klassenpfad Objekte in Heap-Dump
- 12. Java-Heap-Dump-Analyse-Tools stürzen
- 13. Tomcat 7 Manager - wie authentifizieren?
- 14. Wie behebt man "ssl_error_no_cypher_overlap" auf einem Tomcat 7 Server?
- 15. Wie kann ich einen Heap-Dump in IntelliJ analysieren? (Speicherleck)
- 16. Erhalte einen Heap-Dump von einer JRE nur unter Windows
- 17. So finden Sie zwischengespeicherte Objekte von Java-Heap-Dump
- 18. Tomcat 7 und ScheduledExecutorService.shutdown
- 19. Wie integriert man Apache Solr in Apache Tomcat 7?
- 20. Java-Heap-Dump-Fehler - Metadaten scheinen nicht polymorph zu sein
- 21. Migration Frühlingsprojekt von Tomcat 7 zu Tomcat 8
- 22. Implementieren von WAR in eingebettetem Tomcat 7
- 23. Verwenden von Web-Socket mit Tomcat 7
- 24. Chrome 41 ERR_SSL_VERSION_OR_CIPHER_MISMATCH Tomcat 7
- 25. Wie erstellt man Heap Dump automatisch, wenn der Java-Prozess auf OutOfMemory Error stößt?
- 26. Gegenseitige Authentifizierung mit Tomcat 7
- 27. Was bedeuten diese seltsamen Klassennamen in einem Java-Heap-Dump?
- 28. Eklipse - Tomcat 7 - java.lang.IndexOutOfBoundsException auf
- 29. CentOS - Tomcat 7 - Fehler 500
- 30. Tomcat 7 Eingeschränkt (ContainerServlet) Fehler
Was ist das Problem, das Sie kennengelernt haben, als Sie versuchten, den Heapspeicherauszug zu erstellen? – Taky
Sie verknüpfen nur machen Heap-Dump, wenn JVM tot wegen nicht genügend Arbeitsspeicher. Es erlaubt Ihnen nicht, Heapdump zu machen, wann immer Sie wollen. Aber es ist immer noch eine sehr nützliche Option für Sie. – Taky