深入理解JVM笔记四-虚拟机性能监控与故障处理工具

深入解析JVM监控与故障处理:jdk命令行工具实战
本文详细介绍了JDK提供的命令行工具,如jps用于查看虚拟机进程状态,jstat监控虚拟机统计信息,包括各代内存使用情况和GC耗时。jinfo展示运行中Java程序的配置参数,jmap用于分析堆内存使用,而jhat则用于分析堆转储快照,帮助诊断和优化JVM性能。

jdk命令行工具

1.jps
虚拟机进程状态工具

常用的几个参数:
-l   输出Java应用程序的main class的完整包

-q 仅显示pid,不显示其它任何相关信息

-m 输出传递给main方法的参数

-v 输出传递给JVM的参数。在诊断JVM相关问题的时候,这个参数可以查看JVM相关参数的设置

2.jstat

虚拟机统计信息监视工具

C:\Program Files\Java\jdk1.8.0_91\bin>jstat -gcutil 1676
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  0.00 100.00  53.66  80.08  91.20  81.37     72    2.443     0    0.000    2.443

C:\Program Files\Java\jdk1.8.0_91\bin>jstat -gc 1676
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
 0.0   6144.0  0.0   6144.0 83968.0  53248.0   172032.0   137768.9  173184.0 157951.9 23168.0 18851.1     72    2.443   0      0.000    2.443

堆内存 = 年轻代 + 年老代 + 永久代

年轻代 = Eden区 + 两个Survivor区(From和To)

S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)

EC、EU:Eden区容量和使用量

OC、OU:年老代容量和使用量

PC、PU:永久代容量和使用量

YGC、YGCT:年轻代GC次数和GC耗时

FGC、FGCT:Full GC次数和Full GC耗时

GCT:GC总耗时

3 jinfo

java配置信息工具

观察运行中的java程序的运行环境参数:参数包括Java System属性和JVM命令行参数

实例:jinfo 2083

其中2083就是java进程id号,可以用jps得到这个id号。

输出内容太多了,不在这里一一列举,大家可以自己尝试这个命令。

4 jmap Java内存映像工具

jmap(Memory Map)和 jhat(Java Heap Analysis Tool)
jmap用来查看堆内存使用状况,一般结合jhat使用。

5.jhat 虚拟机堆转储快照分析工具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值