Introduction to Oracle JRockit Mission Control

     Previous  Next    Open TOC in new window    View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

JRockit Mission Control Communications

Depending upon which J2SE version on which you are running the Oracle JRockit JVM, certain aspects of the communications protocols will differ. This chapter describes the protocols and their differences resultant from the different J2SE version.

This section includes information on the following subjects:

 


JRockit Mission Control Communications Overview

Figure 2-1 illustrates the communication topology for Oracle JRockit Mission Control.

Figure 2-1 JRockit Mission Control Communications Topology

JRockit Mission Control Communications Topology

 


J2SE 1.4

J2SE 1.4 versions of JRockit Mission Control uses RMP (Rockit Management Protocol.), an older legacy protocol that has existed since the 1.3 versions of the Oracle JRockit JDK. RMP uses a single socket. You can specify the port of the listening socket by using the -Xmanagement:port option; for example -Xmanagement:port=7090. Table 1-1 lists additional system properties you can use to further configure the agent.

Table 2-1 Additional Communication Settings for JRockit Mission Control on J2SE 1.4
System Property
Description
Default
jrockit.managementserver.address
Bind to a specific interface
Not enabled, listens on all interfaces)
jrockit.managementserver.timeout
Socket time-out in MS
4000
jrockit.managementserver.maxconnect
Maximum number of connections
4

 


J2SE 5.0 and Later

J2SE 5.0 and later versions of the JRockit JDK use JMXRMI (JMX over RMI). This protocol uses one port for the RMI registry, which is configured with the -Xmanagement:port option, and a second port (on an anonymous port) for communication with the RMI server. Note that you cannot configure the port for the RMI server; however, you can write your own agent that defines a fixed port for the RMI server. Please see the following link for further information:

http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html#gdfvv

Table 2-2 lists the options available for the -Xmanagement flag:

Table 2-2 -Xmanagement Option
Option
Description
Default
authenticate
Use password authentication
True
ssl
Use secure sockets layer
True
port
What port to use for the RMI registry
7091

For a more comprehensive discussion on what these options mean, please see:

http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html.

 


All Versions

For all J2SE versions, you can use the -Xmanagement option autodiscovery to make the JRockit JVM use the JRockit Discovery Protocol (JDP) to announce its presence; for example -Xmanagement:autodiscovery=true.

Table 2-3 lists additional system properties you can use to control the behavior of the JDP server:

Table 2-3 System Properties Used to Control the JDP Server
System property
Description
Default
jrockit.managementserver.discovery.period
The time to wait between multicasting the presence in ms
5000
jrockit.managementserver.discovery.ttl
The number of router hops the packets being multicasted should survive
1
jrockit.managementserver.discovery.address
The multicast group/address to use
232.192.1.212
jrockit.managementserver.discovery.targetport
The target port to broadcast
7090(1.4)/7091(1.5)

All versions of JRockit Mission Control also employ an additional protocol when using the Memory Leak Detector. The memleak server is not written in Java; rather it is an integral part of the JVM. This is because a potential use case for the memleak server is to optionally be able to start it when an out of memory condition occurs in the JVM. When such a condition occurs, it is impossible to execute Java code because no heap would be available.

MLP (MemLeak Protocol) is used by the native memleak server during a memleak session. JRockit Mission Control communicates over RMP (1.4) or JMXRMI (5.0 and higher) to ask the Oracle JRockit JVM to start up the server. You can configure the port on which you want to start the memleak server on, and to use for the session, by using Oracle JRockit Mission Control preferences. See Figure 2-1 for schematic of this process.


  Back to Top       Previous  Next