Wie analysiert man Informationen von einem Java Core Dump?
Wenn ein Prozess abstürzt und hinterlässt einen core dump oder ich erstelle einen mit gcore
dann, wie kann ich es analysieren?
Ich würde gerne in der Lage sein zu verwenden jmap
jstack
jstat
usw. und auch, um zu sehen, Werte aller Variablen.
Diese Weise finde ich die Gründe für eine abgestürzt oder eingefroren JVM.
InformationsquelleAutor der Frage | 2009-06-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Okay, wenn die Sie erstellt haben und den core-dump mit gcore-oder gdb-dann müssen Sie es zu konvertieren, um so etwas wie eine HPROF - Datei. Diese können verwendet werden, von VisualVM, Netbeans oder Eclipse Memory Analyzer Tool (ehemals SAP Memory Analyzer). Ich würde empfehlen, Eclipse MAT.
Um die Datei zu konvertieren, verwenden Sie die commandline-tool jmap.
wo:
dump.hprof ist der name der hprof-Datei, die Sie erstellen möchten
/usr/bin/java ist der Pfad zu der version von der java-binary, generiert die core-dump -
Kern.1234 ist Ihre regelmäßigen core-Datei.
InformationsquelleAutor der Antwort chillitom
Wenn Sie mit einem IBM JVMdownload die IBM Thread and Monitor Dump Analyzer. Es ist ein ausgezeichnetes Werkzeug. Es bietet thread-detail und können darauf hinweisen, deadlocks, etc.. Die folgenden blog-post bietet eine schöne übersicht auf, wie es zu benutzen.
InformationsquelleAutor der Antwort cmd
Vielleicht VisualVM kann helfen (habe nicht noch eine chance hatte zu versuchen, es selbst). Link:
http://java.sun.com/javase/6/docs/technotes/guides/visualvm/coredumps.html
InformationsquelleAutor der Antwort brianmarco
Sind Sie sicher, dass ein core dump ist das, was Sie hier wollen? Enthalten wird die rohe Eingeweide von der JVM ausgeführt, anstatt mit java-level-Informationen. Vielleicht ein JVM-heap-dump ist mehr das, was Sie brauchen.
InformationsquelleAutor der Antwort skaffman
Eigentlich VisualVM können Prozess-Anwendung core dump.
Nur aufrufen, "Datei/Add-VM-Coredump" und fügen Sie eine neue Anwendung in der explorer. Sie können dann nehmen Sie die thread-dump heap dump der JVM.
InformationsquelleAutor der Antwort JB-
Versuchen die lady4j stack analyzer, könnte es Ihnen helfen:
http://www.lady4j.com/solveStack.jsp
InformationsquelleAutor der Antwort Axel
IBM eine Reihe von tools, die verwendet werden können, auf die sun jvm als gut. Werfen Sie einen Blick auf einige der Projekte, die auf alphaworks, bieten Sie einen heap-und thread-dump-Analysatoren
Karl
InformationsquelleAutor der Antwort Karl
Empfehle ich Euch zu versuchen Netbeans Profiler.Es hat eine reiche Reihe von tools für die Echtzeit-Analyse.
Tools von IbM sind einen Versuch Wert für die offline-Analyse
InformationsquelleAutor der Antwort Santosh Gokak
jhat ist einer der besten, die ich bisher auch verwendet haben.Nehmen Sie einen core dump,ich denke, Sie besser zu nutzen jmap und jps statt gcore(ich habe nicht verwendet es).Überprüfen Sie den link, um zu sehen, wie jhat.
http://www.lshift.net/blog/2006/03/08/java-memory-profiling-with-jmap-and-jhat
InformationsquelleAutor der Antwort Emil
Sehen http://www.oracle.com/technetwork/java/javase/tsg-vm-149989.pdf. Sie können mit "jdb", die direkt auf die core-Datei.
InformationsquelleAutor der Antwort Dave Pacheco