Eins für alles? Monitoring und Profiling mit VisualVM



Ähnliche Dokumente
Installation von NetBeans inkl. Glassfish Anwendungs-Server

Internet Explorer Version 6

Java Performance Tuning

Übung 8: Semaphore in Java (eigene Implementierung)

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Alice SmartDisk. Auf dem PC - Schritt für Schritt erklärt

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand:

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Installation Hardlockserver-Dongle

Klappe auf! Was macht die JVM denn da?

System-Update Addendum

Um zu prüfen welche Version auf dem betroffenen Client enthalten ist, gehen Sie bitte wie folgt vor:

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

Lokale Installation von DotNetNuke 4 ohne IIS

Fernzugang Uniklinikum über VMware View

SOLID EDGE INSTALLATION STANDARD PARTS am Client. INSTALLATION Standard Parts am Client

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK

Debugging in Magento

Hardware- und Softwareanforderungen für die Installation von California.pro

Lizenzen auschecken. Was ist zu tun?

Enterprise Control Center. Systemvoraussetzungen V2.1

Cockpit 3.4 Update Manager

Verwendung des IDS Backup Systems unter Windows 2000

ADSL-Verbindungen über PPtP (Mac OS X 10.1)

Android Remote Desktop & WEB

e-books aus der EBL-Datenbank

Autorisierung von ArcGIS 10.3 for Server mit Internetverbindung

CADEMIA: Einrichtung Ihres Computers unter Mac OS X

Tanuki Service Wrapper 101. JVM Verwaltung mit der Community Edition. Alexander Pacnik Karlsruhe,

Anleitung: Confixx auf virtuellem Server installieren

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Drei Möglichkeiten zum Betrieb von DPV über das Internet. Dr. Matthias Grabert und Walter Geiselmann Uni Ulm

Mac OS X G4 Prozessor 450 MHz (G5- oder Intelprozessor empfohlen) 512 MB RAM. zusätzliche Anforderungen Online-Version

Fernwartung von Mac OS 9 u. X per VNC

Die nachfolgende Anleitung hilft dem Kunden mit den nötigen Informationen zur Installation und Konfiguration der MDWorkflow-Applikation.

Bitte melden Sie sich als Administrator des Betriebssystems oder als Benutzer mit ausreichenden Installationsrechten an Ihrem PC an.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

CADEMIA: Einrichtung Ihres Computers unter Windows

How-to: Webserver NAT. Securepoint Security System Version 2007nx

LabTech RMM. Monitoring von MDaemon. Vertraulich nur für den internen Gebrauch

Aktivierung von Makros in den Erfassungshilfen

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

ANLEITUNG GERÄTEREGISTRATION AN KRZ.SMK IOS

eridea AG Installation Eclipse V 1.1

JVM Monitoring. Verfügbarkeit und Performance aus Sicht der Java Virtual Machine. Tobias Frech

Administrator-Anleitung

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

G DATA INTERNET SECURITY FÜR ANDROID

:: Anleitung Hosting Server 1cloud.ch ::

Windows Server 2008 (R2): Anwendungsplattform

HISPRO Ein Service-Angebot von HIS

Installations Guide für YAJSW und DTLDAP

Installationsanleitung für S-TRUST Wurzelzertifikate

CADEMIA: Einrichtung Ihres Computers unter Linux mit Oracle-Java

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

10.0 Quick Start mit AT89LP2052 Elliptecmotor Kit

MetaQuotes Empfehlungen zum Gebrauch von

Verwendung des Terminalservers der MUG

ISA Server 2004 Einzelner Netzwerkadapater

Dieses Dokument soll dem Administrator helfen, die ENiQ-Software als Client auf dem Zielrechner zu installieren und zu konfigurieren.

Schriftgut- und Informationsverwaltung. Anleitung BürgerTOP

Das Starten von Adami Vista CRM

BitDefender Client Security Kurzanleitung

PCC Outlook Integration Installationsleitfaden

Leitfaden zur Installation von Bitbyters.WinShutdown

IBM SPSS Statistics Version 22. Konfigurieren von Technologie für behindertengerechte Bedienung

Cisco Security Monitoring, Analysis & Response System (MARS)

Anleitung zum Upgraden der Speed4Trade_DB Instanz (MSDE) auf SQL Server 2005 Express Edition

Clientkonfiguration für Hosted Exchange 2010

MO 27. Aug. 2007, 17:00 UHR JAVA FRAMEWORKS TIPPS VON PROFI-GÄRTNERN GEGEN WILDWUCHS

Whitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube Konstanz

Installationsanleitung. Novaline Personal Abrechnung. Personal.One

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

AGFA ORBIS eportal / Orbis Web

Effiziente Java Programmierung

Bürgernetze Main-Spessart

Fachapplikationen in heterogenen IT Landschaften

Do 1.1b. KPI-Monitoring und Performanceengineerings - Widerspruch oder Ergänzung? Klaus-Dieter Jäger

Installationsanleitung

mygesuad Download: Wamp/Lamp Systemumgebungen:

Anleitung. Lesezugriff auf die App CHARLY Termine unter Android Stand:

Apache-Tomcat Workshop

Konventionen. Danksagung

OpenOffice Installation Eckehard Möbius, Böblingen - Oliver Schulz, Stuttgart Stand / Version 1.4

Thomas Wagner 2009 (im Rahmen der TA) Installation von MySQL 5.0 und Tomcat 5.5

Steuererklärung mit dem PC. Computeria-Urdorf 10. Februar 2010

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Transkript:

Eins für alles? Monitoring und Profiling mit VisualVM Thomas Much thomas@muchsoft.com www.muchsoft.com Eins für alles / VisualVM Copyright 2009 Thomas Much 1

Referent Dipl.-Inform. Thomas Much IT-Architekt, Softwareentwickler & Projektcoach Java seit 1996, C++ seit 1993, davor ObjectPascal, Eiffel... Programmiertrainer seit 1997 Autor "Java für Mac OS X" Galileo Computing 2005 630 Seiten, ISBN 3-89842-447-2 Eins für alles / VisualVM Copyright 2009 Thomas Much 2

Agenda Monitoring und Profiling JDK-Tools VisualVM VisualVM mit GlassFish (Sun Application Server) Fazit Eins für alles / VisualVM Copyright 2009 Thomas Much 3

Monitoring und Profiling Eins für alles / VisualVM Copyright 2009 Thomas Much 4

Software-Probleme (1) Arten dauerhafte Performance-Probleme über die Zeit anwachsende Performance-Probleme sporadische Performance-Probleme Überlast gelegentliche Fehler regelmäßige Fehler Eins für alles / VisualVM Copyright 2009 Thomas Much 5

Software-Probleme (2) Gründe... Anwendungsfehler HTTP-Session Datenbankprobleme, schlechtes SQL Netzwerküberlastung Abhilfe: Monitoring und Profiling Eins für alles / VisualVM Copyright 2009 Thomas Much 6

Monitoring und Profiling Monitoring beschreibt Erfassung von Zuständen, die Beobachtung, Überwachung oder Steuerung eines Vorgangs (Prozesses) mittels technischer Hilfsmittel Profiling Einsatz von Programmwerkzeugen (Tools), die das Laufzeitverhalten von Software analysieren Monitoring entdeckt Probleme, Profiling geht ihnen auf den Grund. Eins für alles / VisualVM Copyright 2009 Thomas Much 7

Performance-Profiling Wie kann Performance-Profiling durchgeführt werden? Eigene Zeitmessung System.currentTimeMillis(), System.nanoTime() JVM-Schnittstellen (JVMPI, JVMTI) Bytecode-Instrumentierung Eins für alles / VisualVM Copyright 2009 Thomas Much 8

JVMPI / JVMTI JVMPI JVMTI JVM Profiler Interface seit Java 1.1 dabei aber immer nur "experimentell" mit zahlreichen Problemen seit Java 5.0 deprecated, seit Java 6 nicht mehr dabei JVM Tool Interface seit Java 5.0 dabei löst JVMPI (und Debugger-API JVMDI) ab zahlreiche Tools bauen darauf auf Eins für alles / VisualVM Copyright 2009 Thomas Much 9

JDK-Tools Eins für alles / VisualVM Copyright 2009 Thomas Much 10

JDK-Tools jinfo, jps jstack hprof Prozess-Informationen und -Ids Prozess-Stacktrace Zeit- und Speicher-Profiling jmap, jhat Speicher-Dumps, Histogramme, Auswertung als Web-Server jstat, jstatd jconsole Eins für alles / VisualVM Copyright 2009 Thomas Much 11

jstat / jstatd jstat -gcutil pid ms count oder remote: pid@host:port start rmiregistry jstatd -J-Djava.security.policy=jstatd.all.policy jstatd.all.policy grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.allpermission; }; Eins für alles / VisualVM Copyright 2009 Thomas Much 12

JConsole seit JDK 5.0 fester Bestandteil Aufruf mit jconsole Eins für alles / VisualVM Copyright 2009 Thomas Much 13

VisualVM Eins für alles / VisualVM Copyright 2009 Thomas Much 14

VisualVM (1) Download von <https://visualvm.dev.java.net/> seit JDK 6u7 fester Bestandteil (!) NetBeans-RCP-Anwendung benötigt Java 6 als Runtime kann Anwendungen mit Java 1.4, 5.0 und 6 untersuchen je neuer die Ziel-JVM ist, desto mehr Informationen stehen zur Verfügung Eins für alles / VisualVM Copyright 2009 Thomas Much 15

VisualVM (2) Feature JDK 1.4.2 local/remote JDK 5.0 local/remote JDK 6 local JDK 6 remote Overview System Properties Monitor Threads Profiler Thread Dump Heap Dump Heap Dump on OOME MBean Browser JConsole Wrapper Eins für alles / VisualVM Copyright 2009 Thomas Much 16

VisualVM (3) Aufruf mit jvisualvm beim ersten Start erfolgt eine Kalibrierung Eins für alles / VisualVM Copyright 2009 Thomas Much 17

VisualVM: Plugins am besten alle Plugins installieren, vor allem VisualGC Eins für alles / VisualVM Copyright 2009 Thomas Much 18

VisualVM: Optionen / JTop mit dem JConsole-Plugin kann z.b. JTop installiert werden: Eins für alles / VisualVM Copyright 2009 Thomas Much 19

VisualVM: Monitoring Live- Demo Eins für alles / VisualVM Copyright 2009 Thomas Much 20

VisualVM: Visual GC Live- Demo Eins für alles / VisualVM Copyright 2009 Thomas Much 21

VisualVM: Speicherlecks finden Live- Demo Eins für alles / VisualVM Copyright 2009 Thomas Much 22

VisualVM: Profiling Live- Demo Eins für alles / VisualVM Copyright 2009 Thomas Much 23

VisualVM: Memory-Snapshots vergleichen Live- Demo Eins für alles / VisualVM Copyright 2009 Thomas Much 24

VisualVM: Probleme VisualVM ist noch relativ neu, es gibt noch ein paar Probleme... siehe <https://visualvm.dev.java.net/troubleshooting.html> beispielsweise kann das Profiling lokale Ziel-JVMs zum Absturz bringen Class-Sharing deaktivieren Ziel-JVM mit -Xshare:off starten Eins für alles / VisualVM Copyright 2009 Thomas Much 25

Eclipse: VisualVM-Plugin Download von <https://visualvm.dev.java.net/eclipse-launcher.html> Konfiguration: Eins für alles / VisualVM Copyright 2009 Thomas Much 26

Eclipse: Anwendung+VisualVM starten Eins für alles / VisualVM Copyright 2009 Thomas Much 27

VisualVM mit GlassFish Eins für alles / VisualVM Copyright 2009 Thomas Much 28

VisualVM mit GlassFish GlassFish starten für Remote-Zugriff: jstatd starten auf dem Server muss der RMI-Port (1099) offen sein VisualVM starten GlassFish-Plugin verwenden Monitoring in GlassFish aktivieren Eins für alles / VisualVM Copyright 2009 Thomas Much 29

GlassFish: Monitoring aktivieren Eins für alles / VisualVM Copyright 2009 Thomas Much 30

GlassFish: Monitoring mit VisualVM Live- Demo Eins für alles / VisualVM Copyright 2009 Thomas Much 31

VisualVM: Fazit Eins für alles / VisualVM Copyright 2009 Thomas Much 32

VisualVM: Fazit Positiv: Negativ: einfach zu installieren und einzusetzen Open Source, kostenfrei, fester Bestandteil vom JDK soll laut Sun zur Standard-Management-Anwendung von Java-Applikationen werden viel Potential! noch nicht 99%ig stabil kein Remote-Profiling keine Instrumentierung (Probes o.ä.) hierfür TPTP oder kommerzielle Produkte erforderlich Eins für alles / VisualVM Copyright 2009 Thomas Much 33

Fragen? Vielen Dank! Eins für alles / VisualVM Copyright 2009 Thomas Much 34