Jrockit Mission Control

Jrockit Mission Control helps with profiling for the JRockit JVM
As far As I know it only works for the JRockit JVM, but unlike many other profiling tools like jprobe it does not negatively impact performance and you can easily turn it on and off at runtime. This makes Mission Control a better fit for profiling in certain circumstances.

We recently used Mission Control to do some Heap Analysis and it worked well.

Usage:

  • Download & Install the appropriate JVM with Mission Control
  • Launch Mission Control from Program Files (or from the command line for example: C:javajrmc-3.1.2-1.4.2binjrmc.exe where C:javajrmc-3.1.2-1.4.2 is your installation directory)
  • In order to dynamically connect to a process that is running on the jrmc JVM installed with the mission control, you must launch the process using the jrmc JVM and you need to set the -XmanagementVM Argument flag
  • Alternatively, you can start a JRA recording and then import that result into Mission Control:
    C:\java\jrmc-3.1.2-1.4.2\bin\jrcmd <<PID>> jrarecording time=600 filename=<<FILENAME>>.jra
    • PID– refers to the process id of the process you are profiling
    • FILENAME – should end in the .jra extension in order to easily import into mission control

For more information see the documentation and tutorials on the JRockit Mission Control webpage

JRockit Mission Control does not display the entire heap automatically:

  • To show the entire heap go to Windows -> Preferences -> JRockit Mission Control -> Memory Leak -> Trend
    • Update “Lowest heap usage to report” to 0
    • Now when you run “Start MemLeak” your Trend tab will show the entire heap.

Alternatively you can use the jrcmd command line tool:

We essentially ran this command for producing heap dumps at runtime:

C:\java\jrmc-3.1.2-1.4.2\bin\jrcmd <<PID>> heap_diagnostics > D:\temp\heapSnapshot.log
  • To run a garbage collection using this tool:
    jrcmd <<PID>> runsystemgc full

XX Options

Listing of XX options for JRockit VM

It's only fair to share...
Share on FacebookGoogle+Tweet about this on TwitterShare on LinkedIn

Leave a Reply