## 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.
- 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.2.2
- |  | 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]`
| Version 1.3.0
- |  | default mode:
  | `java -Xrunjprofiler:${PARAM} [solaris: -Xboundthreads] -Xbootclasspath/a:[path to agent.jar][your JVM parameters] -classpath [class path] [main class] [parameters]`
| 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]`
| 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]`
- 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]`
- 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
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 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 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.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 -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.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]`
| 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.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 -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]`