Presentation HotRockit: What to Expect from Oracle's Converged JVM

CORE JAVA PLATFORM 22260

Speakers


PDF: slides.pdf

Slides

What to Expect from HotRockit

What to Expect from HotRockit Marcus Hirt 2 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

What this talk is all about...

What this talk is all about... · Outline what some of the results from merging Hotspot and JRockit will look like (and already looks like!) · Give a rough idea of in what order to expect the technology to appear · Only about what the convergence will bring ­ I.e. will NOT be talking about module system, method handles etc Disclaimer: JDK release targets are our current best estimates and can (and likely will) change! 3 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

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 rel

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 © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JRCMD -> JCMD

JRCMD -> JCMD JDK 7 Time Frame (Update) · Command line utility to enumerate and send commands to running JVMs · Will very likely be renamed to JCMD · First port will probably have a limited set of commands 5 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JCMD Examples

JCMD Examples JDK 7 (Updates) & Forward print_threads prints thread dumps print_memusage prints native memory allocation, down to individual allocation sites, if tracing is enabled print_object_summary prints a histogram of the heap, by class heap_diagnostics prints heap information, including semi-ref details [start|stop|dump|clone]_flightrecording controls the Java Flight Recorder (more on this later) 6 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JCMD Demo

JCMD Demo 7 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JMX Agent Update

JMX Agent Update The JDK 7 Time Frame (Update) · Use same port for RMI Registry and RMI Server ­ Easier firewall configuration · Life Cycle Control ­ Even after the JVM has been started (using JCMD) · Improved ergonomics -Xmanagement:ssl=false,authenticate=false Instead of: ­Dcom.sun.management.jmxremote.port=7091 Dcom.sun.management.jmxremote.ssl=false ­ Dcom.sun.management.jmxremote.authenticate=false 8 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JDP (Java Discovery Protocol)

JDP (Java Discovery Protocol) The JDK 7 Time Frame (Update) · Multicasting heartbeat for JVM services · Used to discover manageable JVMs on the network · Also to discover JVM's no longer running · Normally used with the JMX management agent ­ Follows the management agent life cycle -Xmanagement:port=7091,autodiscovery=true 9 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

MBean Updates

MBean Updates JDK 7 Time Frame · Many JRockit MBeans will be ported ­ Better support for the Mission Control console · Some functionality already available: ­ OperatingSystem#getProcessCpuLoad() ­ OperatingSystem#getSystemCpuLoad() ­ Threading#getThreadAllocatedBytes(long [] threadIDs) · Examples of coming functionality: DiagnosticCommandMBean (MBean API for JCMD access) ProfilingMBean (method invocation counts and timing) PerfCounterMBean (MBean access to internal perf counters) 10 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

Console Demo

Console Demo 11 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JRockit Flight Recorder -> Java Flight Recorder

JRockit Flight Recorder -> Java Flight Recorder JDK 7 Time Frame (update) · In-Flight Recorder for Java (profiling and diagnostics) ­ Always on ­ Very low overhead ­ Dump data anytime ­ Go back in time to see what lead up to a problem · Rich GUI in JMC ­ Integration with the Oracle stack (WLS, DMS etc) ­ Built-in GUI editor ­ Build and export custom plug-ins directly from Mission Control 12 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JFR Demo

JFR Demo 13 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

Memleak Server

Memleak Server JDK 8/9 Time Frame · Low overhead heap analyzer ­ Piggybacks on the GC · On-line analysis ­ No need for large memory consuming heap dumps 14 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

Memleak Demo

Memleak Demo 15 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

No More Perm-Gen

No More Perm-Gen JDK 8 Time Frame · Perm-gen will be removed · Will use native memory and heap and allocate as needed · No need to decide the required size up front · No need for tuning 16 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

Other Improvements

Other Improvements After JDK 8 Time Frame · Deterministic GC ­ Soft real-time GC ­ Pause time target · Compiler optimizations 17 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

JRockit Free!

JRockit Free! Now! · JRockit is now under the same license as HotSpot ­ This means you can start trying out the technology right away! · Mission Control is free for development · Take it for a spin and send feedback! marcus.hirt@oracle.com 18 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

Shameless Book Plug

Shameless Book Plug Oracle JRockit: The Definitive Guide 19 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8

Q&A

Q&A 20 | Copyright © 2011, Oracle and/or it's affiliates. All rights reserved. | Insert Information Protection Policy Classification from Slide 8