linux 找不到jstat,jstat命令_Linux jstat命令使用详解:JDK自带的轻量级小工具

jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics  monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。

jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量 。使用时,需加上查看进程的进程id,和所选参数。

参考格式如下:

选项option代表这用户希望查询的虚拟机信息,主要分为3类:类装载、垃圾收集和运行期编译状况.

–class 监视类装载、卸载数量、总空间及类装载所耗费的时间

–gc 监视Java堆状况,包括Eden区、2个Survivor区、老年代、永久代等的容量

–gccapacity 监视内容与-gc基本相同,但输出主要关注Java堆各个区域使用到的最大和最 小空间

–gcutil 监视内容与-gc基本相同,但输出主要关注已使用空间占总空间的百分比

–gccause 与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因

–gcnew 监视新生代GC的状况

–gcnewcapacity 监视内容与-gcnew基本相同,输出主要关注使用到的最大和最小空间

–gcold 监视老年代GC的状况

–gcoldcapacity 监视内容与-gcold基本相同,输出主要关注使用到的最大和最小空间

–gcpermcapacity 输出永久代使用到的最大和最小空间

–compiler 输出JIT编译器编译过的方法、耗时等信息

–printcompilation 输出已经被JIT编译的方法

实例1

-class 显示加载class的数量,及所占空间等信息

$ jstat -class 15224 1000 10

Loaded Bytes Unloaded Bytes Time

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

3911 8184.6 0 0.0 1.98

Loaded 装载的类的数量

Bytes 装载类所占用的字节数

Unloaded 卸载类的数量

Bytes 卸载类的字节数

Time 装载和卸载类所花费的时间

实例2

-gcutil 统计gc信息

$ jstat -gcutil 5061 1000 2000

S0 S1 E O P YGC YGCT FGC FGCT GCT

100.00 0.00 86.30 33.52 99.96 30 6.625 0 0.000 6.625

0.00 100.00 0.00 34.06 99.96 31 6.763 0 0.000 6.763

0.00 100.00 17.52 34.06 99.96 31 6.763 0 0.000 6.763

0.00 100.00 31.74 34.06 99.96 31 6.763 0 0.000 6.763

0.00 100.00 45.69 34.06 99.96 31 6.763 0 0.000 6.763

0.00 100.00 59.44 34.06 99.96 31 6.763 0 0.000 6.763

0.00 100.00 73.18 34.06 99.96 31 6.763 0 0.000 6.763

0.00 100.00 86.82 34.06 99.96 31 6.763 0 0.000 6.763

72.50 100.00 100.00 34.47 99.96 32 6.763 0 0.000 6.763

100.00 0.00 13.95 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 27.06 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 41.37 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 55.69 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 70.34 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 75.86 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 77.32 34.65 99.96 32 6.895 0 0.000 6.895

100.00 0.00 80.35 34.65 99.97 32 6.895 0 0.000 6.895

100.00 0.00 95.87 34.65 99.97 32 6.895 0 0.000 6.895

S0 年轻代中第一个survivor(幸存区)已使用的占当前容量百分比

S1 年轻代中第二个survivor(幸存区)已使用的占当前容量百分比

E 年轻代中Eden(伊甸园)已使用的占当前容量百分比

O old代已使用的占当前容量百分比

P perm代已使用的占当前容量百分比

YGC 从应用程序启动到采样时年轻代中gc次数

YGCT 从应用程序启动到采样时年轻代中gc所用时间(s)

FGC 从应用程序启动到采样时old代(全gc)gc次数

FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)

GCT 从应用程序启动到采样时gc用的总时间(s)

实例3

gcnew

$ jstat -gcnew 15224 1000 10

S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 394048.3 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 432126.1 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 464736.8 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 496490.7 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 528533.7 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 561456.0 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 592632.1 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 617195.7 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 652485.6 12 12.207

262144.0 262144.0 239923.8 0.0 1 15 131072.0 1572864.0 681304.1 12 12.207

S0C 年轻代中第一个survivor(幸存区)的容量 (字节)

S1C 年轻代中第二个survivor(幸存区)的容量 (字节)

S0U 年轻代中第一个survivor(幸存区)目前已使用空间 (字节)

S1U 年轻代中第二个survivor(幸存区)目前已使用空间 (字节)

TT 持有次数限制

MTT 最大持有次数限制

EC 年轻代中Eden(伊甸园)的容量 (字节)

EU 年轻代中Eden(伊甸园)目前已使用空间 (字节)

YGC 从应用程序启动到采样时年轻代中gc次数

YGCT 从应用程序启动到采样时年轻代中gc所用时间(s)

FGC 从应用程序启动到采样时old代(全gc)gc次数

实例4

gcnewcapacity

$ jstat -gcnewcapacity 15224 1000 10

NGCMN NGCMX NGC S0CMX S0C S1CMX S1C ECMX EC YGC FGC

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 16 10

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 16 10

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 16 10

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 16 10

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 17 11

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 17 11

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 17 11

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 17 11

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 17 11

2097152.0 2097152.0 2097152.0 262144.0 262144.0 262144.0 262144.0 1572864.0 1572864.0 17 11

NGCMN 年轻代(young)中初始化(最小)的大小(字节)

NGCMX 年轻代(young)的最大容量 (字节)

NGC 年轻代(young)中当前的容量 (字节)

S0CMX 年轻代中第一个survivor(幸存区)的最大容量 (字节)

S0C 年轻代中第一个survivor(幸存区)的容量 (字节)

S1CMX 年轻代中第二个survivor(幸存区)的最大容量 (字节)

S1C 年轻代中第二个survivor(幸存区)的容量 (字节)

ECMX 年轻代中Eden(伊甸园)的最大容量 (字节) EC 年轻代中

Eden(伊甸园)的容量 (字节)

YGC 从应用程序启动到采样时年轻代中gc次数

FGC 从应用程序启动到采样时old代(全gc)gc次数

实例5

gcold old代对象的信息

$ jstat -gcold 15224 1000 10

PC PU OC OU YGC FGC FGCT GCT

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

42064.0 25167.2 2097152.0 1183624.3 19 14 2.091 19.320

PC Perm(持久代)的容量 (字节)

PU Perm(持久代)目前已使用空间 (字节)

OC Old代的容量 (字节)

OU Old代目前已使用空间 (字节)

YGC 从应用程序启动到采样时年轻代中gc次数

FGC 从应用程序启动到采样时old代(全gc)gc次数

FGCT 从应用程序启动到采样时old代(全gc)gc所用时间(s)

GCT 从应用程序启动到采样时gc用的总时间(s)

实例6

-printcompilation 当前VM执行的信息

$ stat -printcompilation 15224 1000 10

Compiled Size Type Method

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

532 517 1 java/util/concurrent/locks/AbstractQueuedSynchronizer acquire

Compiled 编译任务的数目

Size 方法生成的字节码的大小

Type 编译类型

Method 类名和方法名用来标识编译的方法。类名使用/做为一个命名空间分隔符。方法名是给定类中的方法。上述格式是由-XX:+PrintComplation选项进行设置的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值