## Remote session invocation table |

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=~/.jprofiler4/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]`