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.
-
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. The parameters id has to be supplied as well. Optionally, you can also
supply the config parameter.
-
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.
-
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. 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.
Multiple parameters are separated by commas such as in
"offline,id=172,config=~/.jprofiler5/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: Sun Microsystems Inc. |
| Version 1.2.2 | | | - classic mode:
| java -classic -Xrunjprofiler:${PARAM} [solaris: -native] -Djava.compiler=none -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: is not available on Solaris
- default mode:
| java -Xrunjprofiler:${PARAM} [solaris: -native] -Djava.compiler=none -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: is only available on Solaris
| | Version 1.3.0 | | | - classic mode:
| java -classic -Xrunjprofiler:${PARAM} [solaris: -Xboundthreads] -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: is not available on Solaris
- default mode:
| java -Xrunjprofiler:${PARAM} [solaris: -Xboundthreads] -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: is only available on Solaris
| | Version 1.3.1 | | | Unsupported releases with known problems: 1.3.1, 1.3.1_01 | | | - interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} [solaris: -Xboundthreads] -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- hotspot mode:
| java -Xrunjprofiler:${PARAM} [solaris: -Xboundthreads] -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- classic mode:
| java -classic -Xrunjprofiler:${PARAM} [solaris: -Xboundthreads] -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: is not available on Solaris
| | Version 1.4.0 | | | Unsupported releases with known problems: 1.4.0-beta, 1.4.0-beta2, 1.4.0-beta3, 1.4.0-rc, 1.4.0 | | | - 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.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 -agentlib:jprofilerti=${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 -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][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 -agentlib:jprofilerti=${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 -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| |
Vendor: IBM Corporation |
| Version 1.3.0 | | | - 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 full instrumentation and sampling
| | Version 1.3.1 | | | see version 1.3.0 | | Version 1.4.0 | | | see version 1.3.0 | | Version 1.4.1 | | | see version 1.3.0 | | Version 1.4.2 | | | see version 1.3.0 | | Version 1.5.0 | | | - jit compiler (>= 1.5) mode:
| java -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note:
- interpreted (>= 1.5) mode:
| java -Xint -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| |
Vendor: Apple Computer, Inc. |
| Version 1.3.1 | | | - interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | 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 -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- interpreted mode:
| java -Xint -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][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
| |
Vendor: BEA Systems, Inc. |
| Version 1.4.1 | | | - default mode:
| java -Xjvmpi:entryexit=off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- fullinstr mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: choose only when working with full instrumentation
- 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 -Xjvmpi:entryexit=off -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- fullinstr mode:
| java -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: choose only when working with full instrumentation
- 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 -Xjvmpi:entryexit=off -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
Note: does not work with full instrumentation
- noopt mode:
| java -Xnoopt -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| |
Vendor: Hewlett-Packard Co. |
| Version 1.3.1 | | | - interpreted mode:
| java -Xint -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
- 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
- classic mode:
| java -classic -Xrunjprofiler:${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| | 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 -agentlib:jprofilerti=${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 -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][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 -agentlib:jprofilerti=${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 -agentlib:jprofilerti=${PARAM} -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters] |
| |