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

​ 显示一个统计选项列表,详见输出选项