Suche senden
Hochladen
Diagnosing Your Application on the JVM
•
8 gefällt mir
•
2,534 views
Durch KI verbesserter Titel
S
Staffan Larsen
Folgen
Presentation from JavaOne 2013
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 32
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Java Performance Monitoring & Tuning
Java Performance Monitoring & Tuning
Muhammed Shakir
Jvm performance tuning
Jvm performance tuning
Igor Igoroshka
Java performance tuning
Java performance tuning
Mohammed Fazuluddin
자바 성능 강의
자바 성능 강의
Terry Cho
I know why your Java is slow
I know why your Java is slow
aragozin
Java black box profiling JUG.EKB 2016
Java black box profiling JUG.EKB 2016
aragozin
Garbage First and you
Garbage First and you
Kai Koenig
Java performance tuning
Java performance tuning
Jerry Kurian
Empfohlen
Java Performance Monitoring & Tuning
Java Performance Monitoring & Tuning
Muhammed Shakir
Jvm performance tuning
Jvm performance tuning
Igor Igoroshka
Java performance tuning
Java performance tuning
Mohammed Fazuluddin
자바 성능 강의
자바 성능 강의
Terry Cho
I know why your Java is slow
I know why your Java is slow
aragozin
Java black box profiling JUG.EKB 2016
Java black box profiling JUG.EKB 2016
aragozin
Garbage First and you
Garbage First and you
Kai Koenig
Java performance tuning
Java performance tuning
Jerry Kurian
The JVM is your friend
The JVM is your friend
Kai Koenig
JVM Internals (2015)
JVM Internals (2015)
Luiz Fernando Teston
Java profiling Do It Yourself (jug.msk.ru 2016)
Java profiling Do It Yourself (jug.msk.ru 2016)
aragozin
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
Azul Systems Inc.
So You Want To Write Your Own Benchmark
So You Want To Write Your Own Benchmark
Dror Bereznitsky
Java on Linux for devs and ops
Java on Linux for devs and ops
aragozin
Java Performance Tuning
Java Performance Tuning
Atthakorn Chanthong
Inside The Java Virtual Machine
Inside The Java Virtual Machine
elliando dias
Modern Java Workshop
Modern Java Workshop
Simon Ritter
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
AppDynamics
Don't dump thread dumps
Don't dump thread dumps
Tier1 App
Java Flight Recorder Behind the Scenes
Java Flight Recorder Behind the Scenes
Staffan Larsen
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Arun Gupta
JVM Memory Management Details
JVM Memory Management Details
Azul Systems Inc.
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
Ryan Cuprak
Java profiling Do It Yourself
Java profiling Do It Yourself
aragozin
Java On Speed
Java On Speed
Arto Santala
Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9
Poonam Bajaj Parhar
JDK9 Features (Summary, 31/Jul/2015) #JJUG
JDK9 Features (Summary, 31/Jul/2015) #JJUG
Yuji Kubota
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
guest1f2740
Debugging Your Production JVM
Debugging Your Production JVM
kensipe
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
C2B2 Consulting
Weitere ähnliche Inhalte
Was ist angesagt?
The JVM is your friend
The JVM is your friend
Kai Koenig
JVM Internals (2015)
JVM Internals (2015)
Luiz Fernando Teston
Java profiling Do It Yourself (jug.msk.ru 2016)
Java profiling Do It Yourself (jug.msk.ru 2016)
aragozin
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
Azul Systems Inc.
So You Want To Write Your Own Benchmark
So You Want To Write Your Own Benchmark
Dror Bereznitsky
Java on Linux for devs and ops
Java on Linux for devs and ops
aragozin
Java Performance Tuning
Java Performance Tuning
Atthakorn Chanthong
Inside The Java Virtual Machine
Inside The Java Virtual Machine
elliando dias
Modern Java Workshop
Modern Java Workshop
Simon Ritter
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
AppDynamics
Don't dump thread dumps
Don't dump thread dumps
Tier1 App
Java Flight Recorder Behind the Scenes
Java Flight Recorder Behind the Scenes
Staffan Larsen
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Arun Gupta
JVM Memory Management Details
JVM Memory Management Details
Azul Systems Inc.
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
Ryan Cuprak
Java profiling Do It Yourself
Java profiling Do It Yourself
aragozin
Java On Speed
Java On Speed
Arto Santala
Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9
Poonam Bajaj Parhar
JDK9 Features (Summary, 31/Jul/2015) #JJUG
JDK9 Features (Summary, 31/Jul/2015) #JJUG
Yuji Kubota
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
guest1f2740
Was ist angesagt?
(20)
The JVM is your friend
The JVM is your friend
JVM Internals (2015)
JVM Internals (2015)
Java profiling Do It Yourself (jug.msk.ru 2016)
Java profiling Do It Yourself (jug.msk.ru 2016)
What's New in the JVM in Java 8?
What's New in the JVM in Java 8?
So You Want To Write Your Own Benchmark
So You Want To Write Your Own Benchmark
Java on Linux for devs and ops
Java on Linux for devs and ops
Java Performance Tuning
Java Performance Tuning
Inside The Java Virtual Machine
Inside The Java Virtual Machine
Modern Java Workshop
Modern Java Workshop
Memory Management: What You Need to Know When Moving to Java 8
Memory Management: What You Need to Know When Moving to Java 8
Don't dump thread dumps
Don't dump thread dumps
Java Flight Recorder Behind the Scenes
Java Flight Recorder Behind the Scenes
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
JVM Memory Management Details
JVM Memory Management Details
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
Java profiling Do It Yourself
Java profiling Do It Yourself
Java On Speed
Java On Speed
Monitoring and Troubleshooting Tools in Java 9
Monitoring and Troubleshooting Tools in Java 9
JDK9 Features (Summary, 31/Jul/2015) #JJUG
JDK9 Features (Summary, 31/Jul/2015) #JJUG
Find bottleneck and tuning in Java Application
Find bottleneck and tuning in Java Application
Andere mochten auch
Debugging Your Production JVM
Debugging Your Production JVM
kensipe
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
C2B2 Consulting
JavaOne 2014: Java Debugging
JavaOne 2014: Java Debugging
Chris Bailey
Profiler Guided Java Performance Tuning
Profiler Guided Java Performance Tuning
osa_ora
Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages Toolchain
Attila Szegedi
Hotspot Garbage Collection - The Useful Parts
Hotspot Garbage Collection - The Useful Parts
jClarity
Efficient Memory and Thread Management in Highly Parallel Java Applications
Efficient Memory and Thread Management in Highly Parallel Java Applications
pkoza
Java Performance Tuning
Java Performance Tuning
Minh Hoang
Real Life Java EE Performance Tuning
Real Life Java EE Performance Tuning
C2B2 Consulting
An Introduction To Java Profiling
An Introduction To Java Profiling
schlebu
Everything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @Twitter
Attila Szegedi
Andere mochten auch
(11)
Debugging Your Production JVM
Debugging Your Production JVM
Hands-on Performance Tuning Lab - Devoxx Poland
Hands-on Performance Tuning Lab - Devoxx Poland
JavaOne 2014: Java Debugging
JavaOne 2014: Java Debugging
Profiler Guided Java Performance Tuning
Profiler Guided Java Performance Tuning
Towards JVM Dynamic Languages Toolchain
Towards JVM Dynamic Languages Toolchain
Hotspot Garbage Collection - The Useful Parts
Hotspot Garbage Collection - The Useful Parts
Efficient Memory and Thread Management in Highly Parallel Java Applications
Efficient Memory and Thread Management in Highly Parallel Java Applications
Java Performance Tuning
Java Performance Tuning
Real Life Java EE Performance Tuning
Real Life Java EE Performance Tuning
An Introduction To Java Profiling
An Introduction To Java Profiling
Everything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @Twitter
Ähnlich wie Diagnosing Your Application on the JVM
GlassFish in Production Environments
GlassFish in Production Environments
Bruno Borges
JVMs in Containers - Best Practices
JVMs in Containers - Best Practices
David Delabassee
JVMs in Containers
JVMs in Containers
David Delabassee
Why should i switch to Java SE 7
Why should i switch to Java SE 7
Vinay H G
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
Arun Gupta
Troubleshooting Tools In JDK
Troubleshooting Tools In JDK
Poonam Bajaj Parhar
Production Time Profiling Out of the Box
Production Time Profiling Out of the Box
Marcus Hirt
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
Alexandre (Shura) Iline
GlassFish REST Administration Backend
GlassFish REST Administration Backend
Arun Gupta
GlassFish BOF
GlassFish BOF
glassfish
Batch Applications for the Java Platform
Batch Applications for the Java Platform
Sivakumar Thyagarajan
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
Akash Pramanik
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Max Andersen
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
Orgad Kimchi
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
Reza Rahman
A Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
Ana-Maria Mihalceanu
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
Kevin Sutter
Java Mission Control in Java SE 7U40
Java Mission Control in Java SE 7U40
Roger Brinkley
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXB
Martin Grebac
20151010 my sq-landjavav2a
20151010 my sq-landjavav2a
Ivan Ma
Ähnlich wie Diagnosing Your Application on the JVM
(20)
GlassFish in Production Environments
GlassFish in Production Environments
JVMs in Containers - Best Practices
JVMs in Containers - Best Practices
JVMs in Containers
JVMs in Containers
Why should i switch to Java SE 7
Why should i switch to Java SE 7
GlassFish REST Administration Backend at JavaOne India 2012
GlassFish REST Administration Backend at JavaOne India 2012
Troubleshooting Tools In JDK
Troubleshooting Tools In JDK
Production Time Profiling Out of the Box
Production Time Profiling Out of the Box
Java code coverage with JCov. Implementation details and use cases.
Java code coverage with JCov. Implementation details and use cases.
GlassFish REST Administration Backend
GlassFish REST Administration Backend
GlassFish BOF
GlassFish BOF
Batch Applications for the Java Platform
Batch Applications for the Java Platform
Ebs performance tuning session feb 13 2013---Presented by Oracle
Ebs performance tuning session feb 13 2013---Presented by Oracle
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Red Hat and Oracle: Delivering on the Promise of Interoperability in Java EE 7
Oracle Solaris 11.1 New Features
Oracle Solaris 11.1 New Features
Have You Seen Java EE Lately?
Have You Seen Java EE Lately?
A Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
Haj 4344-java se 9 and the application server-1
Haj 4344-java se 9 and the application server-1
Java Mission Control in Java SE 7U40
Java Mission Control in Java SE 7U40
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXB
20151010 my sq-landjavav2a
20151010 my sq-landjavav2a
Kürzlich hochgeladen
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
MounikaPolabathina
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Fwdays
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Raghuram Pandurangan
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
ScyllaDB
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
Fwdays
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
Sergiu Bodiu
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
BookNet Canada
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
LoriGlavin3
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
LoriGlavin3
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
Lorenzo Miniero
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
Kürzlich hochgeladen
(20)
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Diagnosing Your Application on the JVM
1.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.1
2.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.2 Diagnosing Your Application on the JVM Staffan Larsen Java SE Serviceability Architect staffan.larsen@oracle.com @stalar
3.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.3 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle s products remains at the sole discretion of Oracle.
4.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.4 404 – Not Found java.security.AccessControlException: access denied ("java.lang.management.ManagementPermission" "control") at java.security.AccessControlContext.checkPermission(AccessControlContext.java:364) at java.security.AccessController.checkPermission(AccessController.java:555) at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) at oracle.jrockit.jfr.JFR.checkControl(JFR.java:43) at oracle.jrockit.jfr.RepositoryChunk.<init>(RepositoryChunk.java:68) at Demo$1.<init>(Demo.java:14) at Demo.start(Demo.java:14) at sun.applet.AppletPanel.run(AppletPanel.java:474) at java.lang.Thread.run(Thread.java:722)
5.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.5 jcmd jps jvisualvm jinfo jmap jstack jstatd JMX perf counters attach jstat serviceability agent java flight recorder java mission control
6.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.6
7.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.7 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Agenda § Demos, walk-through § Internals § Future
8.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.8
9.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.9 Demo Recap § jps – list processes § jcmd – send Diagnostic Commands – VM.version – Thread.print – GC.class_histogram – GC.heap_dump § jstat – see performance counters § Java Mission Control § Java Flight Recorder
10.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.10 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Agenda § Demos, walk-through § Internals § Future
11.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.11 Remote Access § JMX – jmc, jvisualvm, jconsole – Access information from java.lang.management MBeans – SSL and authentication – Enable startup: -‐Dcom.sun.management.jmxremote – Enable runtime: jcmd ManagementAgent.start § jstatd – Daemon that runs on remote machine – jstat can connect to daemon
12.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.12 Discovery – what is running? § Well-known file for each JVM – <temp>/hsperfdata_<user>/<pid> – /tmp/hsperfdata_staffan/3636 § Created on JVM startup § Deleted on JVM shutdown § Unused files deleted on startup
13.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.13 Java Discovery Protocol § Java process will broadcast presence – Every 5 seconds § Broadcast package contains – Main class name – Unique id – JMX service URL -‐Dcom.sun.management.jmxremote.autodiscovery=true jcmd ManagementAgent.start jdp.port=<port> From freedigitalphotos.net/by digitalart 7u40
14.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.14 Attach – talking to the JVM § Allows sending “commands” for execution in the JVM § Receive text output § Local access by same user only § Used by jcmd, jstack, jmap, jinfo § Mechanics differ on platforms
15.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.15 Attach: Linux / BSD / Solaris § Create file /tmp/.attach_pid<pid> § Send SIGQUIT to JVM § JVM looks for /tmp/.attach_pid<pid> – If not found a normal thread dump is done § JVM will create socket: /tmp/.java_pid<pid> § Use socket for communication § Solaris uses door API instead of sockets
16.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.16 Attach: Windows § Remote process injects code (!) into the JVM – VirtualAllocEx / WriteProcessMemory § Remote process creates a thread in the JVM to call the code – CreateRemoteThread § The code dynamically looks up JVM_EnqueueOperation() and calls it § Reads result from a pipe
17.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.17 Diagnostic Commands § Helper routines inside the JVM § Text output § Executed via the jcmd utility – soon JMX § Self-describing help facility § Different set of commands for different JVM versions JDK 8
18.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.18 jvmstat / PerfCounter § /tmp/hsperfdata_staffan/3636 – Contains a lot of run-time information about the JVM § Memory mapped file § Updated continuously by JVM § Use jstat to show information in readable form § Use "jcmd PerfCounter.print" to see raw contents
19.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.19 Monitored JVM attach j* JMX jstat RMI JMX client JMX attach Mission Control VisualVM JConsole jcmd jstack jmap jinfo Accessing the JVM dcmd JVM jvmstat jstat(d)
20.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.20 Communicating with the JVM Local access Remote access Two-way core files attach ✔ ✔ jvmstat ✔ JMX ✔ ✔ jstatd ✔ SA ✔ (✔) ✔
21.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.21 attach JMX jvmstat jstatd RemoteLocal Two-way One-way Communicating with the JVM
22.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.22 Serviceability Agent § For core-files or non-responsive JVMs § Uses debugger to read information § Last resort - suspends process in unknown state jstack <executable> <core> jstack –F <pid>
23.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.23 Monitored JVM JVMj* SA jstack jmap jinfo debugger vmSymbols Accessing the JVM
24.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.24 Java Flight Recorder § JVM-built-in profiler and tracer § Non-intrusive § Always-on § Captures both JVM and application data – GC, Locks, Compiler, Exceptions, CPU Usage, I/O, … § After-the-fact analysis § Circular buffers New! Photograph by Jeffrey Milstein http://butdoesitfloat.com/In-the-presence-of-massive-gravitational-fields-this-perfect
25.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.25 JVM JFR: How Is It Built? § Information gathering – Instrumentation calls all over the JVM – Application information via Java API § Collected in Thread Local buffers ⇢ Global Buffers ⇢Disk § Binary, proprietary file format § Managed via JMX JFR Thread Buffers Disk JMX GC RuntimeCompiler Java API Global Buffers
26.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.26 Java Mission Control § Console – Online Monitoring and Management – MBean Browser – Triggers & Alerts § UI for Java Flight Recorder $ bin/jmc New!
27.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.27 Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Agenda § Demos, walk-through § Internals § Future
28.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.28 Future § More Diagnostic Commands (jcmd) – Eventually replacing jstack, jmap, jinfo § JMX Enhancements – Annotations, REST protocol, batched updates § Improved Logging for the JVM – JEP 158 § Remove JConsole, hprof agent, jhat (?) It’s soon here!
29.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.29 Take-away § Know which tools exists § Seen the tools in use § Something new and something useful § Go and experiment with the tools! @stalar staffan.larsen@oracle.com serviceability-dev@openjdk.java.net
30.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.30 More Sessions § Oracle Java Mission Control: Java Flight Recorder Deep Dive – Tutorial – Today 10 am – 12 pm § Java Flight Recorder Behind The Scenes – Session – Wednesday 11:30 am – 12:30 pm
31.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.31 @stalar staffan.larsen@oracle.com serviceability-dev@openjdk.java.net
32.
Copyright © 2012,
Oracle and/or its affiliates. All rights reserved.32
Jetzt herunterladen