--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/jstat.1.txt Mon May 09 09:19:31 2011 +0200
@@ -0,0 +1,446 @@
+jstat(1) jstat(1)
+
+
+
+NAME
+ jstat - Java Virtual Machine statistics monitoring tool
+
+SYNOPSIS
+ jstat [ generalOption | outputOptions vmid [ interval [ s|ms ] [ count ] ] ]
+
+DESCRIPTION
+ The jstat tool displays performance statistics for an instrumented HotSpot Java virtual machine
+ (JVM). The target JVM is identified by its virtual machine identifier, or vmid option described
+ below.
+
+ NOTE - This utility is unsupported and may or may not be available in future versions of the J2SE
+ SDK. It is currently not available on Windows 98 and Windows ME platforms.
+
+ VIRTUAL MACHINE IDENTIFIER
+ The syntax of the vmid string largely corresponds to the syntax of a URI:
+
+ [protocol:][//]lvmid[@hostname][:port][/servername]
+
+ protocol The communications protocol. If the protocol is omitted and a hostname is not speci-
+ fied, the default protocol is a platform specific optimized local protocol. If the
+ protocol is omitted and a hostname is specified, then the default protocol is rmi.
+
+ lvmid The local virtual machine identifier for the target JVM. The lvmid is a platform-spe-
+ cific value that uniquely identifies a JVM on a system. The lvmid is the only required
+ component of a virtual machine identifier. The lvmid is typically, but not necessar-
+ ily, the operating system's process identifier for the target JVM process. You can use
+ the jps command to determine the lvmid. Also, you can determine lvmid on Unix plat-
+ forms with the ps command, and on Windows with the Windows Task Manager.
+
+ hostname A hostname or IP address indicating the target host. If hostname is omitted, then the
+ target host is the local host.
+
+ port The default port for communicating with the remote server. If the hostname is omitted
+ or the protocol specifies an optimized, local protocol, then port is ignored. Other-
+ wise, treatment of the port parameter is implementation specific. For the default rmi
+ protocol, the port indicates the port number for the rmiregistry on the remote host.
+ If port is omitted, and protocol indicates rmi, then the default rmiregistry port
+ (1099) is used.
+
+ servername The treatment of this parameter depends on implementation. For the optimized local
+ protocol, this field is ignored. For the rmi protocol, it represents the name of the
+ RMI remote object on the remote host.
+
+PARAMETERS
+ generalOption A single general command-line option (-help, -options, or -version)
+
+ outputOptions One or more output options, consisting of a single statOption, plus any of the -t, -h,
+ and -J options.
+
+ vmid Virtual machine identifier, a string indicating the target Java virtual machine (JVM).
+ The general syntax is
+
+ [protocol:][//]lvmid[@hostname[:port]/servername
+
+ The syntax of the vmid string largely corresponds to the syntax of a URI. The vmid can vary from a
+ simple integer representing a local JVM to a more complex construction specifying a communications
+ protocol, port number, and other implementation-specific values. See Virtual Machine Identifier below
+ for details.
+
+ interval[s|ms] Sampling interval in the specified units, seconds (s) or milliseconds (ms). Default
+ units are milliseconds. Must be a positive integer. If specified, jstat will produce
+ its output at each interval.
+
+ count Number of samples to display. Default value is infinity; that is, jstat displays sta-
+ tistics until the target JVM terminates or the jstat command is terminated. Must be a
+ positive integer.
+
+OPTIONS
+ The jstat command supports two types of options, general options and output options. General options
+ cause jstat to display simple usage and version information. Output options determine the content and
+ format of the statistical output.
+
+ NOTE- All options, and their functionality are subject to change or removal in future releases.
+
+ GENERAL OPTIONS
+ If you specify one of the general options, you cannot specify any other option or parameter.
+
+ -help Display help message.
+
+ -version Display version information.
+
+ -options Display list of statistics options. See the Output Options section below.
+
+ OUTPUT OPTIONS
+ If you do not specify a general option, then you can specify output options. Output options deter-
+ mine the content and format of jstat's output, and consist of a single statOption, plus any of the
+ other output options (-h, -t, and -J). The statOption must come first.
+
+ Output is formatted as a table, with columns are separated by spaces. A header row with titles
+ describes the columns. Use the -h option to set the frequency at which the header is displayed.
+ Column header names are generally consistent between the different options. In general, if two
+ options provide a column with the same name, then the data source for the two columns are the same.
+
+ Use the -t option to display a time stamp column, labeled Timestamp as the first column of output.
+ The Timestamp column contains the elapsed time, in seconds, since startup of the target JVM. The res-
+ olution of the time stamp is dependent on various factors and is subject to variation due to delayed
+ thread scheduling on heavily loaded systems.
+
+ Use the interval and count parameters to determine how frequently and how many times, respectively,
+ jstat displays its output.
+
+ NOTE- You are advised not to write scripts to parse jstat's output since the format may change in
+ future releases. If you choose to write scripts that parse jstat output, expect to modify them for
+ future releases of this tool.
+
+ -statOption Determines the statistics information that jstat displays. The following table lists
+ the available options. Use the -options general option to display the list of options
+ for a particular platform installation.
+
+
+
+ +-----------------+------------------------------------------------------+
+ | Option | Displays... |
+ +-----------------+------------------------------------------------------+
+ |class | Statistics on the behavior of the class loader |
+ |compiler | Statistics on the behavior of the HotSpot Just-In- |
+ | | Time compiler |
+ |gc | Statistics on the behavior of the garbage collected |
+ | | heap |
+ |gccapacity | Statistics of the capacities of the generations and |
+ | | their corresponding spaces. |
+ |gccause | Summary of garbage collection statistics (same as |
+ | | -gcutil), with the cause of the last and current (if |
+ | | applicable) garbage collection events. |
+ |gcnew | Statistics of the behavior of the new generation. |
+ |gcnewcapacity | Statistics of the sizes of the new generations and |
+ | | its corresponding spaces. |
+ |gcold | Statistics of the behavior of the old and permanent |
+ | | generations. |
+ |gcoldcapacity | Statistics of the sizes of the old generation. |
+ |gcpermcapacity | Statistics of the sizes of the permanent generation. |
+ |gcutil | Summary of garbage collection statistics. |
+ |printcompilation | Summary of garbage collection statistics. |
+ +-----------------+------------------------------------------------------+
+ -h n Display a column header every n samples (output rows), where n is a positive integer.
+ Default value is 0, which displays the column header above the first row of data.
+
+ -t n Display a timestamp column as the first column of output. The timestamp is the the
+ time since the start time of the target JVM.
+
+ -JjavaOption Pass javaOption to the java application launcher. For example, -J-Xms48m sets the
+ startup memory to 48 megabytes. For a complete list of options, see java(1).
+
+ STATOPTIONS AND OUTPUT
+ The following tables summarize the columns that jstat outputs for each statOption.
+
+ class Class Loader Statistics
+
+
+
+ +---------+--------------------------------------------------------+
+ | Column | Description |
+ +---------+--------------------------------------------------------+
+ |Loaded | Number of classes loaded |
+ |Bytes | Number of Kbytes loaded |
+ |Unloaded | Number of classes unloaded |
+ |Bytes | Number of Kbytes unloaded |
+ |Time | Time spent performing class load and unload operations |
+ +---------+--------------------------------------------------------+
+ compiler
+ HotSpot Just-In-Time Compiler Statistics
+
+
+
+ +-------------+-------------------------------------------------------+
+ | Column | Description |
+ +-------------+-------------------------------------------------------+
+ |Compiled | Humber of compilation tasks performed |
+ |Failed | Number of compilation tasks that failed |
+ |Invalid | Number of compilation tasks that were invalidated |
+ |Time | Time spent performing compilation tasks |
+ |FailedType | Compile type of the last failed compilation |
+ |FailedMethod | Class name and method for the last failed compilation |
+ +-------------+-------------------------------------------------------+
+ gc Garbage-collected heap statistics
+
+
+
+ +-------+-------------------------------------------+
+ |Column | Description |
+ +-------+-------------------------------------------+
+ |SOC | Current survivor space 0 capacity (KB). |
+ |S1C | Current survivor space 1 capacity (KB). |
+ |S0U | Survivor space 0 utilization (KB). |
+ |S1U | Survivor space 1 utilization (KB). |
+ |EC | Current eden space capacity (KB). |
+ |EU | Eden space utilization (KB). |
+ |OC | Current old space capacity (KB). |
+ |OU | Old space utilization (KB). |
+ |PC | Current permanent space capacity (KB). |
+ |PU | Permanent space utilization (KB). |
+ |YGC | Number of young generation GC Events. |
+ |YGCT | Young generation garbage collection time. |
+ |FGC | Number of full GC events. |
+ |FGCT | Full garbage collection time. |
+ |GCT | Total garbage collection time. |
+ +-------+-------------------------------------------+
+ gccapacity
+ Memory Pool Generation and Space Capacities
+
+
+
+ +-------+---------------------------------------------+
+ |Column | Description |
+ +-------+---------------------------------------------+
+ |NGCMN | Minimum new generation capacity (KB). |
+ |NGCMX | Maximum new generation capacity (KB). |
+ |NGC | Current new generation capacity (KB). |
+ |S0C | Current survivor space 0 capacity (KB). |
+ |S1C | Current survivor space 1 capacity (KB). |
+ |EC | Current eden space capacity (KB). |
+ |OGCMN | Minimum old generation capacity (KB). |
+ |OGCMX | Maximum old generation capacity (KB). |
+ |OGC | Current old generation capacity (KB). |
+ |OC | Current old space capacity (KB). |
+ |PGCMN | Minimum permanent generation capacity (KB). |
+ |PGCMX | Maximum Permanent generation capacity (KB). |
+ |PGC | Current Permanent generation capacity (KB). |
+ |PC | Current Permanent space capacity (KB). |
+ |VGC | Number of Young generation GC Events. |
+ |FGC | Number of Full GC Events. |
+ +-------+---------------------------------------------+
+ gccause
+ This option displays the same summary of garbage collection statistics as the -gcutil option,
+ but includes the causes of the last garbage collection event and (if applicable) the current
+ garbage collection event. In addition to the columns listed for -gcutil, this option adds the
+ following columns:
+
+
+
+ +-------+--------------------------------------+
+ |Column | Description |
+ +-------+--------------------------------------+
+ |LGCC | Cause of last Garbage Collection. |
+ |GCC | Cause of current Garbage Collection. |
+ +-------+--------------------------------------+
+ gcnew New Generation Statistics
+
+
+
+ +-------+-------------------------------------------+
+ |Column | Description |
+ +-------+-------------------------------------------+
+ |SOC | Current survivor space 0 capacity (KB). |
+ |S1C | Current survivor space 1 capacity (KB). |
+ |S0U | Survivor space 0 utilization (KB). |
+ |S1U | Survivor space 1 utilization (KB). |
+ |TT | Tenuring threshold. |
+ |MTT | Maximum tenuring threshold. |
+ |DSS | Desired survivor size (KB). |
+ |EC | Current eden space capacity (KB). |
+ |EU | Eden space utilization (KB). |
+ |VGC | Number of young generation GC events. |
+ |VGCT | Young generation garbage collection time. |
+ +-------+-------------------------------------------+
+ gcnewcapacity
+ New Generation Space Size Statistics
+
+
+
+ +-------+-----------------------------------------+
+ |Column | Description |
+ +-------+-----------------------------------------+
+ |NGCMN | Minimum new generation capacity (KB). |
+ |NGCMX | Maximum new generation capacity (KB). |
+ |NGC | Current new generation capacity (KB). |
+ |S0CMX | Maximum survivor space 0 capacity (KB). |
+ |S0C | Current survivor space 0 capacity (KB). |
+ |S1CMX | Maximum survivor space 1 capacity (KB). |
+ |S1C | Current survivor space 1 capacity (KB). |
+ |ECMX | Maximum eden space capacity (KB). |
+ |EC | Current eden space capacity (KB). |
+ |YGC | Number of young generation GC events. |
+ |FGC | Number of Full GC Events. |
+ +-------+-----------------------------------------+
+ gcold Old and Permanent Generation Statistics
+
+
+
+ +-------+----------------------------------------+
+ |Column | Description |
+ +-------+----------------------------------------+
+ |PC | Current permanent space capacity (KB). |
+ |PU | Permanent space utilization (KB). |
+ |OC | Current old space capacity (KB). |
+ |OU | Old space utilization (KB). |
+ |YGC | Number of young generation GC events. |
+ |FGC | Number of Full GC events. |
+ |FGCT | Full garbage collection time. |
+ |GCT | Total garbage collection time. |
+ +-------+----------------------------------------+
+ gcoldcapacity
+ Old Generation Statistics
+
+
+
+ +-------+---------------------------------------+
+ |Column | Description |
+ +-------+---------------------------------------+
+ |OGCMN | Minimum old generation capacity (KB). |
+ |OGCMV | Maximum old generation capacity (KB). |
+ |OGC | Current old generation capacity (KB). |
+ |OC | Current old space capacity (KB). |
+ |YGC | Number of young generation GC events. |
+ |FGC | Number of Full GC events. |
+ |FGCT | Full garbage collection time. |
+ |GCT | Total garbage collection time. |
+ +-------+---------------------------------------+
+ gcpermcapacity
+ Permanent Generation Statistics
+
+
+
+ +-------+---------------------------------------------+
+ |Column | Description |
+ +-------+---------------------------------------------+
+ |PGCMN | Minimum permanent generation capacity (KB). |
+ |PGCMX | Maximum permanent generation capacity (KB). |
+ |PGC | Current permanent generation capacity (KB). |
+ |PC | Current permanent space capacity (KB). |
+ |YGC | Number of young generation GC events. |
+ |FGC | Number of Full GC events. |
+ |FGCT | Full garbage collection time. |
+ |GCT | Total garbage collection time. |
+ +-------+---------------------------------------------+
+ gcutil Summary of Garbage Collection Statistics
+
+
+
+ +-------+-------------------------------------------+
+ |Column | Description |
+ +-------+-------------------------------------------+
+ |S0 | Survivor space 0 utilization as a per- |
+ | | centage of the space's current capacity. |
+ |S1 | Survivor space 1 utilization as a per- |
+ | | centage of the space's current capacity. |
+ |E | Eden space utilization as a percentage of |
+ | | the space's current capacity. |
+ |O | Old space utilization as a percentage of |
+ | | the space's current capacity. |
+ |P | Permanent space utilization as a percent- |
+ | | age of the space's current capacity. |
+ |YGC | Number of young generation GC events. |
+ |YGCT | Young generation garbage collection time. |
+ |FGC | Number of Full GC events. |
+ |FGCT | Full garbage collection time. |
+ |GCT | Total garbage collection time. |
+ +-------+-------------------------------------------+
+ printcompilation
+ HotSpot Compiler Method Statistics
+
+
+
+ +---------+---------------------------------------------+
+ | Column | Description |
+ +---------+---------------------------------------------+
+ |Compiled | Number of compilation tasks performed. |
+ |Size | Number of bytes of bytecode for the method. |
+ |Type | Compilation type. |
+ |Method | Class name and method name identifying the |
+ | | compiled method. Class name uses "/" |
+ | | instead of "." as namespace separator. |
+ | | Method name is the method within the given |
+ | | class. The format for these two fields is |
+ | | consistent with the HotSpot - XX:+PrintCom- |
+ | | plation option. |
+ +---------+---------------------------------------------+
+
+EXAMPLES
+ This section presents some examples of monitoring a local JVM with a lvmid of 21891.
+
+ Using the gcutil option
+ This example attaches to lvmid 21891 and takes 7 samples at 250 millisecond intervals and displays
+ the output as specified by the -gcutil option.
+
+ jstat -gcutil 21891 250 7
+ S0 S1 E O P YGC YGCT FGC FGCT GCT
+ 12.44 0.00 27.20 9.49 96.70 78 0.176 5 0.495 0.672
+ 12.44 0.00 62.16 9.49 96.70 78 0.176 5 0.495 0.672
+ 12.44 0.00 83.97 9.49 96.70 78 0.176 5 0.495 0.672
+ 0.00 7.74 0.00 9.51 96.70 79 0.177 5 0.495 0.673
+ 0.00 7.74 23.37 9.51 96.70 79 0.177 5 0.495 0.673
+ 0.00 7.74 43.82 9.51 96.70 79 0.177 5 0.495 0.673
+ 0.00 7.74 58.11 9.51 96.71 79 0.177 5 0.495 0.673
+
+ The output of this example shows that a young generation collection occurred between the 3rd and 4th
+ sample. The collection took 0.001 seconds and promoted objects from the eden space (E) to the old
+ space (O), resulting in an increase of old space utilization from 9.49% to 9.51%. Before the collec-
+ tion, the survivor space was 12.44% utilized, but after this collection it is only 7.74% utilized.
+
+ Repeating the column header string
+ This example attaches to lvmid 21891 and takes samples at 250 millisecond intervals and displays the
+ output as specified by -gcutil option. In addition, it uses the -h3 option to output the column
+ header after every 3 lines of data.
+
+ jstat -gcnew -h3 21891 250
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+ 64.0 64.0 0.0 31.7 31 31 32.0 512.0 178.6 249 0.203
+ 64.0 64.0 0.0 31.7 31 31 32.0 512.0 355.5 249 0.203
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 21.9 250 0.204
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 245.9 250 0.204
+ 64.0 64.0 35.4 0.0 2 31 32.0 512.0 421.1 250 0.204
+ 64.0 64.0 0.0 19.0 31 31 32.0 512.0 84.4 251 0.204
+ S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT
+ 64.0 64.0 0.0 19.0 31 31 32.0 512.0 306.7 251 0.204
+
+ In addition to showing the repeating header string, this example shows that between the 2nd and 3rd
+ samples, a young GC occurred. Its duration was 0.001 seconds. The collection found enough live data
+ that the survivor space 0 utilization (S0U) would would have exceeded the desired survivor Size
+ (DSS). As a result, objects were promoted to the old generation (not visible in this output), and the
+ tenuring threshold (TT) was lowered from 31 to 2.
+
+ Another collection occurs between the 5th and 6th samples. This collection found very few survivors
+ and returned the tenuring threshold to 31.
+
+ Including a time stamp for each sample
+ This example attaches to lvmid 21891 and takes 3 samples at 250 millisecond intervals. The -t option
+ is used to generate a time stamp for each sample in the first column.
+
+ jstat -gcoldcapacity -t 21891 250 3
+ Timestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT
+ 150.1 1408.0 60544.0 11696.0 11696.0 194 80 2.874 3.799
+ 150.4 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
+ 150.7 1408.0 60544.0 13820.0 13820.0 194 81 2.938 3.863
+
+ Monitor instrumentation for a remote JVM
+ This example attaches to lvmid 40496 on the system named remote.domain using the -gcutil option, with
+ samples taken every second indefinitely.
+
+ jstat -gcutil 40496@remote.domain 1000
+ ... output omitted
+
+ The lvmid is combined with the name of the remote host to construct a vmid of 40496@remote.domain.
+ This vmid results in the use of the rmi protocol to communicate to the default jstatd server on the
+ remote host. The jstatd server is located using the rmiregistry on remote.domain that is bound to the
+ default rmiregistry port (port 1099).
+
+SEE ALSO
+ java(1) jps(1) jstatd(1) rmiregistry(1)
+