JVM - jstat工具

2021/09/29 JVM 共 1716 字,约 5 分钟
Bob.Zhu

jstat(JVM Statistics Monitoring Tool) 使用于监视虚拟机各种运行状态信息的命令行工具。 它可以显示本地或者远程(需要远程主机提供 RMI 支持)虚拟机进程中的类信息、内存、垃圾收集、 JIT 编译等运行数据,在没有 GUI,只提供了纯文本控制台环境的服务器上, 它将是运行期间定位虚拟机性能问题的首选工具。

命令格式

jstat -help
Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

Definitions:
  <option>      An option reported by the -options option
  <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                     <lvmid>[@<hostname>[:<port>]]
                Where <lvmid> is the local vm identifier for the target
                Java virtual machine, typically a process id; <hostname> is
                the name of the host running the target Java virtual machine;
                and <port> is the port number for the rmiregistry on the
                target host. See the jvmstat documentation for a more complete
                description of the Virtual Machine Identifier.
  <lines>       Number of samples between header lines.
  <interval>    Sampling interval. The following forms are allowed:
                    <n>["ms"|"s"]
                Where <n> is an integer and the suffix specifies the units as
                milliseconds("ms") or seconds("s"). The default units are "ms".
  <count>       Number of samples to take before terminating.
  -J<flag>      Pass <flag> directly to the runtime system.

比如 jstat -gc -h3 31736 1000 10

表示分析进程 id 为 31736 的 gc 情况,每隔 1000ms 打印一次记录,打印 10 次停止, 每 3 行后打印指标头部。

另外,加上 -t参数可以在输出信息上加一个 Timestamp 列,显示程序的运行时间。

常用 option

-class

jstat -class vmid

显示 ClassLoader 的相关信息;

-compiler

jstat -compiler vmid

显示 JIT 编译的相关信息;

-gc

jstat -gc vmid

显示与 GC 相关的堆信息;

-gccapacity

jstat -gccapacity vmid

显示各个代的容量及使用情况;

-gcnew

jstat -gcnew vmid

显示新生代信息;

-gcnewcapcacity

jstat -gcnewcapcacity vmid

显示新生代大小与使用情况;

-gcold

jstat -gcold vmid

显示老年代和永久代的行为统计,从jdk1.8开始,该选项仅表示老年代,因为永久代被移除了;

-gcoldcapacity

jstat -gcoldcapacity vmid

显示老年代的大小;

-gcpermcapacity

jstat -gcpermcapacity vmid

显示永久代大小,从jdk1.8开始,该选项不存在了,因为永久代被移除了;

-gcutil

jstat -gcutil vmid

显示垃圾收集信息;

参考资料

文档信息

Search

    Table of Contents