2015-04-13 5 views
13

Von oracleWarum java8 Server JRE nicht serverspezifische Tools wie jstack enthalten, jmap, jvisualvm, jstat

Der Server JRE für Server-Anwendungen Werkzeuge für die JVM Überwachung und Werkzeuge häufig erforderlich beinhaltet, ist aber nicht enthalten Browser Integration (das Java-Plug-in).

Von der Server-Tools-Nutzung, die Liste der Tools, die für die Überwachung oberste ist jstack, jvisualvm, jstat, jconsole; alle fehlen in der jdk/bin des server jre bundle.

Irgendeine Idee der rationalen hinter dieser Bündelung.

bearbeiten

Dies ist der Fall nur für "Server jre 8". Für "Server jre 7" waren alle diese Tools vorhanden.

+1

Ich denke, das liegt daran, dass die Tools, die Sie erwähnten, ein Entwicklungswerkzeug sind. Sie sind nicht für den Einsatz in Produktionsumgebungen gedacht. Diese Tools sind nur für die Entwicklung, das Debugging und die Analyse gedacht. –

+0

@alexeymalev, Diese Tools werden zum Überwachen des Java-Prozesses auf Probleme verwendet. Für zB: In der Produktion verwenden wir jstack, um Serverbehänge und jvisgalvm für jede Überwachung/Profilierung zu analysieren. Durch die Beschreibung fühlte ich, dass wir "Server JRE" nehmen sollten, um diese Bedürfnisse zu erfüllen. –

+0

Nun, ich denke, Sie sind frei, jedes Werkzeug zu verwenden, das zu Ihnen passt, aber es scheint, dass Oracle nicht damit einverstanden ist, dass eine solche Verwendung nicht stattfinden sollte. –

Antwort

14

Nach einigen Recherchen habe ich festgestellt, dass viele der "fehlenden" Tool-Funktionalitäten tatsächlich noch verfügbar sind.

Zum Beispiel jcmd kann das gleiche tun und mehr als jstack. Verwenden Sie jcmd $PID Thread.print, um einen Thread-Dump in schwerem jre 8 zu verwenden.

Die Funktionalität des jconsole-Tools ist indirekt verfügbar, obwohl jconsole in bin fehlt, befindet sich die jconsole.jar im lib-Ordner und Sie können sie mit java -jar lib/jconsole.jar ausführen, um die gleiche alte Funktionalität zu erhalten.

jcmd kann auch verwendet werden, um andere Speicher/gc-Statistiken zu erhalten. Führen Sie jcmd $pid help aus, um weitere Informationen anzuzeigen.

Also ich denke, es ist in Ordnung, die gleiche Funktion in Server jre 8 wie wir in Server jre 7 erhalten haben, und es könnte von Server jre 8 entfernt werden, um Redundanz zu entfernen.

+0

Schön! http://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html – isapir

Verwandte Themen