Please look at the help page on
starting remote sessions for a complete
sequence of steps that need to be taken for remote profiling.
Below you find the condensed instructions on how to modify your startup command for
a remote profiling session. The table
shows all supported JVM vendors and versions. Square brackets like
[your path to agent.jar]
are to be replaced according to the textual description, or they contain platform dependent
options, like
[solaris: -native], which means that on Solaris, you should add
-native but nothing on other platforms.
${PARAM} is to be replaced by the parameters you would like to pass to the
profiling agent. The following parameters are available:
-
port=nnnnn chooses the port on which the agent listens for remote
connections. Be sure to use the same value in JProfiler's GUI front end.
-
address=[IP address] chooses the IP address that the socket for the remote connection
should bind to. By default, the agent binds the socket to all network interfaces. If this is not desirable
for security reasons, you should use this option.
-
nowait tells the profiling agent to let the JVM start up immediately.
Usually, the profiled JVM will wait for a connection from the JProfiler GUI before
starting up. For 1.5 JVMs or earlier, the parameters id has to be supplied as well.
Optionally, you can also supply the config parameter in that case.
-
offline enables the offline profiling mode.
You cannot connect with the GUI front end when using the offline profiling mode.
The parameters id has to be supplied as well. Optionally, you can also
supply the config parameter.
-
id=nnnnn chooses the session used with the offline or
nowait parameters. This is only required for 1.5 JVMs or earlier.
-
config=[path to JProfiler config file] supplies the path to JProfiler's
configuration file. This parameter is only relevant for
offline profiling and profiling with the nowait
parameter (in the latter case only if the profiled JVM has a version of 1.5 or earlier).
If config is not specified for those cases, the profiling agent will attempt to load the
config file from its standard location. Reading the config file is necessary to retrieve profiling
settings that have to be known at startup for the session that was selected with the id
parameter.
${LIBRARY} (JVMTI only) is to be replaced by the
full path to the native JProfiler library.
Multiple parameters are separated by commas such as in
"offline,id=172,config=~/.jprofiler7/config.xml".
In addition to the standard parameters above, there are the following trouble-shooting and debugging parameters:
-
verbose-instr prints the names of all instrumented classes to
stderr. This is a debugging parameter.
-
jniInterception enables the detection of object allocations via JNI calls. This parameter is
only relevant for Java 1.5.0_00, 1.5.0_01 and 1.5.0_02. This feature is enabled by default
for Java 1.5.0_03 and higher. Due to a bug in Java 1.5.0_02 and lower, it is disabled when profiling
with those releases. Please make sure not to use -Xcheck:jni when you specify
this parameter for Java 1.5.0_02 and lower.
-
stack=nnnnn sets the maximum stack size for dynamic instrumentation. Only change this parameter
when JProfiler emits corresponding error messages. The default value is 10000.
-
samplingstack=nnnnn sets the maximum stack size for sampling. Only change this parameter
when JProfiler emits corresponding error messages. The default value is 200.
Vendor: Oracle (formerly Sun) |
| Version 1.4.1 | | | - hotspot mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.4.2 | | | see version 1.4.1 | | Version 1.5.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- hotspot (JVMPI) mode:
| java -Xshare:off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
- interpreted (JVMPI) mode:
| java -Xint -Xshare:off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
| | Version 1.6.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.7.0 | | | see version 1.6.0 | | Version 1.8.0 | | | see version 1.6.0 | |
Vendor: IBM Corporation |
| Version 1.4.1 | | | - interpreted mode:
| java -Djava.compiler=none -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- jit compiler mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with sampling
| | Version 1.4.2 | | | see version 1.4.1 | | Version 1.5.0 | | | - jit compiler mode:
| java -agentpath:${LIBRARY}=${PARAM} -Xshareclasses:none [your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with sampling
- interpreted mode:
| java -Djava.compiler=none -agentpath:${LIBRARY}=${PARAM} -Xshareclasses:none [your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.6.0 | | | - jit compiler mode:
| java -agentpath:${LIBRARY}=${PARAM} -Xshareclasses:none [your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with sampling
- interpreted mode:
| java -Djava.compiler=none -agentpath:${LIBRARY}=${PARAM} -Xshareclasses:none [your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.7.0 | | | see version 1.6.0 | |
Vendor: Apple Computer, Inc. |
| Version 1.4.1 | | | - hotspot mode:
| java -Xrunjprofiler:${PARAM} -XX:-UseSharedSpaces -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} -XX:-UseSharedSpaces -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.4.2 | | | see version 1.4.1 | | Version 1.5.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- hotspot (JVMPI) mode:
| java -XX:-UseSharedSpaces -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
- interpreted (JVMPI) mode:
| java -Xint -XX:-UseSharedSpaces -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
| | Version 1.6.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
| |
Vendor: Oracle JRockit |
| Version 1.4.1 | | | - default (JVMPI) mode:
| java -Xjvmpi:entryexit=off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note:
- noopt mode:
| java -Xnoopt -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.4.2 | | | see version 1.4.1 | | Version 1.5.0 | | | - default mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note:
- default (JVMPI) mode:
| java -Xjvmpi:entryexit=off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note:
- noopt mode:
| java -Xnoopt -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.6.0 | | | - default mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
Note:
| |
Vendor: Hewlett-Packard Co. |
| Version 1.4.1 | | | - hotspot mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.4.2 | | | see version 1.4.1 | | Version 1.5.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- hotspot (JVMPI) mode:
| java -Xshare:off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
- interpreted (JVMPI) mode:
| java -Xint -Xshare:off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
| | Version 1.6.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
| |
Vendor: The FreeBSD Foundation |
| Version 1.4.1 | | | - hotspot mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | Version 1.4.2 | | | see version 1.4.1 | | Version 1.5.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
- hotspot (JVMPI) mode:
| java -Xshare:off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
- interpreted (JVMPI) mode:
| java -Xint -Xshare:off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: deprecated, default interface JVMTI is preferred
| | Version 1.6.0 | | | - hotspot mode:
| java -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- interpreted mode:
| java -Xint -agentpath:${LIBRARY}=${PARAM} [your JVM parameters] -classpath [class path] [main class] [parameters] |
| |