HowTo - Profiling jBEAM und MaDaM mit VisualVM Pr ofi lin g jB E A M un d M a D a M mi t Vi su al V M Lutz Klab uhn 28.0 4.20 17 Table of Contents Page 1 - last modified by Lutz Klabuhn on 28.04.2017 HowTo - Profiling jBEAM und MaDaM mit VisualVM Profiling jBEAM und MaDaM mit VisualVM ........................................................................................................................................................................... Profiling jBEAM und MaDaM mit VisualVM VisualVM ist ein Java System Tool, um Informationen zum Ablaufverhalten eines Java-Programms (speziell jBEAM) zu erhalten. Die Ausgaben dieses Tools helfen uns, Ihre Problembeschreibung besser nachvollziehen und lösen zu können. Sie finden die VisualVM Startdatei im Installationsordner Ihres Java Development Kits (JDK, zum Beispiel: C:\ Program Files\ Java\ jdk1.8.0_65\ bin\ jvisualvm.exe). Beachten Sie aber: Lediglich die SDK Installationen beinhalten diese VisualVM Anwendung! Eine kurzes Tutorial-Video zum allgemeinen Umgang mit VisualVM finden Sie unter http://visualvm.java.net/gettingstarted.html Um Ihnen helfen zu können, benötigen wir spezifische Informationen über Ihr jBEAM, MaDaM und Ihre Java Runtime Konfiguration. Tomcat konfigurieren (Wenn sie jBEAM ohne MaDaM nutzen, bitte weiter bei “Thread-Dump bauen”) Um sich mit der Tomcat VM zu verbinden und Informationen abzurufen, muss Tomcat entsprechend konfiguriert werden. Bitte öffnen Sie die Tomcat Konfiguration und fügen die folgenden Java Optionen hinzu: • • • Dcom.sun.management.jmxremote.port=8086 Dcom.sun.management.jmxremote.ssl=false Dcom.sun.management.jmxremote.authenticate=false Der Port, den Sie auswählen, variiert in Abhängigkeit von den Ports, die auf Ihrem Rechner offen sind. Mit Tomcat verbinden (Wenn sie jBEAM ohne MaDaM nutzen, bitte Page 2 - last modified by Lutz Klabuhn on 28.04.2017 HowTo - Profiling jBEAM und MaDaM mit VisualVM weiter bei “Aufbau eines Thread-Dumps”) Nachdem Tomcat konfiguriert wurde, verbinden Sie sich mit Tomcat mit Hilfe der Java VisualVM. • • • Öffnen SIe Java VisualVM Öffnen Sie das Menü “File” und wählen Sie “Add JMX Connection” Geben Sie in dem resultierenden Popup den Namen des Hosts ein, auf dem Tomcat bereitgestellt wird und den Host, den Sie im letzten Schritt konfiguriert haben. • - Aufbau eines Thread-Dumps Der Aufbau eines Thread-Dumps kann in drei Schritten erfolgen, die in Image A angezeigt werden. o Auf der linken Seite des VisualVM Hauptfensters finden Sie die aktuell ausgeführten Java Programme, suchen Sie dort den Eintrag für jBEAM. In den meisten Fällen wird der Name jBEAM.jar oder ähnlich lauten, aber der Name kann abweichen (vgl. Bild unten). In seltenen Fällen kann der Name aber auch folgendermaßen lauten com.AMS.jBEAM_Extern.jBEAM. In beiden Fällen wählen Sie diesen Eintrag aus. o Tab Threads im VisualVM Page 3 - last modified by Lutz Klabuhn on 28.04.2017 HowTo - Profiling jBEAM und MaDaM mit VisualVM - o auf den Button Thread Dump klicken o den kompletten Inhalt des Fensters einfach an uns schicken Erstellen eines CPU-Snapshots Das Erstellen eines CPU-Snapshots ist hilfreich, wenn überprüft werden soll, warum Operationen unerwartet viel Zeit benötigen. Die Schritte sind in Bild B visualisiert. o Falls noch nicht geschehen, wählen Sie das jBEAM-Programm in der linken Spalte Applications aus, wie oben beschrieben. o Tab Sampler im VisualVM o auf den Button CPU klicken o Verlassen Sie die VisualVM und gehe Sie wieder zu MaDaM oder jBEAM und starten die zeitintensiven Operationen o warten Sie bis entweder die zeitintensiven Operationen beendet sind oder ein Paar Minuten verstrichen sind o auf Snapshot im VisualVM klicken o über Export to … als Profiler Snapshot File (*.nps) exportieren und zu uns schicken Erstellen eines Memory-Snapshots - M Ein Memory Snapshot wird benötigt, um hohe RAM-Auslastung zu analysieren. Page 4 - last modified by Lutz Klabuhn on 28.04.2017 HowTo - Profiling jBEAM und MaDaM mit VisualVM o Das Vorgehen ist analog zu CPU-Snapshot, nur eben den Memory-Button klicken Page 5 - last modified by Lutz Klabuhn on 28.04.2017