jstat官方文档, jstat命令详解
jstat 用于监视 Java 虚拟机(JVM)的统计数据。这个命令是实验性的,不受支持。
简介
jstat <一般选项 | 输出选项> <vmid> <时间间隔> <count>
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
一般选项
一个通用命令行选项,-help
或者 -options
。详见 一般选项
输出选项
包含单个 statOption
的一个或多个输出选项,以及 -t,-h 和 -J 选项。详见输出选项
vmid
虚拟机标识符,是指示目标 JVM 的一个字符串。一般格式如下:
[protocol:][//]lvmid[@hostname[:port]/servername]
vmid
的语法对应 URI 的语法。vmid
字符串可以是从表示本地 JVM 的一个整数,到指定通信协议、端口和其他特定实现值的更复杂的结构。详见虚拟机标识符
间隔时间
以指定单位秒(s)或毫秒(ms)的采样间隔。默认是秒,必须为正整数。当指定时,jstat
命令会在每个间隔时间进行输出。
数量
要显示的样本数。默认无穷大,这样 jstat
命令会一直输出的统计信息,直到 JVM 终止或者 jstat
命令终止。必须为正整数。
描述
jstat
命令显示被监测的 Java HotSpot VM的性能统计数据。用虚拟机标识符或者vmid
选项标识目标 JVM。
虚拟机标识
vmid 的语法对应于 URI 的语法:
[protocol:][//]lvmid[@hostname[:port]/servername]
protocol
通信协议,如果省略协议且没有指定主机名,默认协议是特定于平台的优化本地协议。如果省略了协议并指定主机名,那么默认协议是 RMI
。
lvmid
目标 JVM 的本地虚拟机标识。lvmid
是一个特定于平台的值,它唯一地标识系统上的 JVM。lvmid
是虚拟机标识符唯一需要的组件。lvmid 通常是(但不一定是)目标 JVM 进程的操作系统的标识符。你可以使用 jps
命令来确定 lvmid
,此外也可以在 Solaris、Linux、OS X平台上使用 ps
命令来确定 lvmid
,在 Windows上可以使用 Windows 任务管理器来操作。
hostname
目标主机的主机名或 IP 地址。如果省略了 hostname
,默认是本地主机。
port
与远程服务器通信的端口。如果省略主机名或协议指指定优化的本地协议,则忽略端口值。否则,端口参数的处理是特定于实现的。对于默认的 rmi
协议,端口值指示远程主机上 rmiregistry 的端口号。如果省略端口值且协议值指示 rmi
,则使用默认 rmiregistry 的端口。
servername
servername 参数的矗立取决于实现。对于优化的本地协议,这个字段被忽略。对于 rmi
协议,它表示远程主机上 RMI 远程对象的名称。
选项
jstat 命令支持两种选项类型:一般选项和输出选项。一般选项用来显示简单的用法和版本信息。输出选项决定统计输出的内容和格式。
所有选项及其功能都可能在未来的版本中更改或移除。
一般选项
如果你指定了一个一般选项,则不能再指定任何其他选项或参数。
-help
显示帮助信息
-options
显示一个统计选项列表,详见输出选项