Können Jconsole-Daten von der Befehlszeile abgerufen werden?
Ich bin derzeit mit jconsole
zu überwachen, performance-Metriken von meiner Java-Anwendung und möchte Skript diese Datenerfassung.
Gibt es eine Möglichkeit zum abrufen dieser VM-Metriken (heap-memory usage-thread-Anzahl, CPU-Auslastung usw.) zu STDOUT
?
Die Daten in top -p PID -b -n 1
nicht ganz schneiden Sie es.
Dank
InformationsquelleAutor der Frage Jonathan | 2009-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
jconsole stellt nur einen wrapper um die JMX MBeans, die in der Plattform MBeanServer.
Können Sie ein Programm schreiben, um eine Verbindung zu Ihrer virtuellen Maschine mit Attach-API das wäre dann die Abfrage der MBeans.
Oder Sie können setzen die Plattform MBeanServer über RMI und Abfrage der MBeans, die Art und Weise.
Sehen die java.lang.management - Paket für mehr info
InformationsquelleAutor der Antwort Kevin
Vielleicht jvmtop ist einen Blick Wert.
Es ist ein Befehlszeilen-tool, das eine live-view für mehrere Metriken.
Beispiel für die Ausgabe der VM-übersicht-Modus:
InformationsquelleAutor der Antwort MRalwasser
Werfen Sie einen Blick auf
jmap
, die verwendet werden können, um einen heap-dump von der Konsole aus.Für Daten, die nicht in der heap-dump, ich glaube jconsole verwendet einfach die JMX-Verbindung zu dem Laufenden JVM-Statistiken - also ist es wahrscheinlich möglich, erstellen Sie Ihre eigene Anwendung könnte ziehen die gleichen Arten von Statistiken von JMX.
InformationsquelleAutor der Antwort matt b
Können Sie das jmx-Abfrage-tool über die Kommandozeile: http://crawler.archive.org/cmdline-jmxclient/
InformationsquelleAutor der Antwort user2427
Einige andere nützliche CLI-tools zur überwachung von Java-Anwendungen:
InformationsquelleAutor der Antwort Tonin
jstack bietet einige nützliche bits von Informationen, die in der normalen Ausgabe. Heap-Speicher-Nutzung direkt zur Verfügung, aufgeschlüsselt nach GC-region; - thread-Anzahl bestimmt werden konnte, mit ein wenig perl /grep "/etc".
InformationsquelleAutor der Antwort Sbodd
Finden Sie vielleicht jvm-Mo nützlich für diese. Es ist eine JVM-monitoring-tool für die Befehlszeile, die disaplys:
Die Metriken und Diagramme zu aktualisieren, während das tool geöffnet ist.
Beispiel:
InformationsquelleAutor der Antwort Andrejs
Dies ist ein Teil der Antwort auf Ihre Frage:
InformationsquelleAutor der Antwort djangofan
Habe ich erfolgreich die tomcat jmxproxy für den Zugriff von Skripten ( http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html#Using_the_JMX_Proxy_Servlet ).
Habe ich noch nicht verwendet, alle von Ihnen, aber einer der jmx-rest-Projekte könnte eine option für eine nicht-tomcat-server ( http://www.google.com/search?q=jmx+rest ).
InformationsquelleAutor der Antwort llama