Gibt es ein console-profiler für Java?
Gibt es eine gprof-wie profiler für Java ausgeführt werden können, aus dem terminal in Linux?
Alle tools die ich gefunden habe, sind GUI-Programme und ich brauche führen Sie es aus dem terminal.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die JVM hat einen eingebauten profiler genannt HPROF. Sie können Sie auf der Kommando-Zeile wie diese:
Dies wird dump Profil-Informationen in einer text-Datei, wenn das Programm beendet ist. Neben profiling-CPU-Auslastung, kann es auch verfolgen heap-Verbrauch.
depth
option.java
den Namen Ihrer Klasse (Prime
) ohne.java
am Ende. Stellen Sie sicher, Sie haben kompiliert es mitjavac
ersten.java
ohne profiling. Dies könnte hilfreich sein: stackoverflow.com/questions/626940/...java -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel -jar $HOME/Downloads/jperfanal.jar java.hprof.txt
Auch, option...,depth=99
für hprof macht es zum hinzufügen von full-stack-traces (für die Ermittlung der Benutzer generiert, die langsame Methode aufrufen).Den open-source-tool jvmtop enthält eine terminal-profiler und könnte einen Blick Wert sein:
--profile <pid>
optionJXInsight/OpenCore hat, Begriff/shell-reporting-plugins (top, queues, stacks,...), dass Ausgang seiner Softwaremessung und-Metriken Daten in regelmäßigen Abständen. Es ist auch möglich, den Zugriff auf diese Informationen mithilfe der Open API, die ermöglicht die Prüfung des Modells in Echtzeit innerhalb der JVM oder offline unter Verwendung einer snapshot-Datei-handle. Beide werden unterstützt über die Plugin-API, die es, wie oben, queues,... denen zu arbeiten.
http://www.jinspired.com/products/opencore (commercial)
Gibt es einen technischen Grund, Sie nicht verwenden können, ein GUI? Ist es nur eine Präferenz, getrieben durch ein workflow-Gewohnheit? Wenn nicht, dann können Sie immer versuchen unsere FREIE JXInsight/Opus Java Edition - eine hoch effiziente und skalierbare code-Ebene performance-Messung-Latenz-Lösung für die rasche Ermittlung von hotspots innerhalb von Java-und JRuby-Anwendungen.
http://www.jinspired.com/products/opus
Hinweis: ich bin das Produkt der Architekt beider Produkte.
Benutze ich jconsole für, die. http://docs.oracle.com/javase/6/docs/technotes/tools/share/jconsole.html
Wenn Sie wollen, dass es für das profiling und monitoring. Sie können Jvisualvm.
vom App-Website:
BESCHREIBUNG
Java VisualVM ist eine intuitive grafische Benutzeroberfläche, bietet detaillierte Informationen über die Java-Technologie-basierten Anwendungen (Java-Anwendungen), während Sie ausgeführt werden, die auf eine bestimmte Java Virtual Machine (JVM*). Der name Java VisualVM kommt von der Tatsache, dass Java VisualVM bietet Informationen über die JVM-software visuell.
Java VisualVM vereint mehrere monitoring, Fehlersuche und profiling-Werkzeuge in einem einzigen tool. Zum Beispiel, die meisten der Funktionalität der standalone-Werkzeuge jmap, jinfo, jstat und jstack integriert Java VisualVM. Andere Funktionalitäten, wie einige von diesen angeboten durch die JConsole-tool Hinzugefügt werden können, die als optional-plugins.
EDIT:
Wie wollen Sie ein terminal-Ansatz.Siehe diesen link Das auslösen einer Javadump.
Es beschreibt die Erstellung von java-dump.