文章目录
JVM 常用命令
JDK监控和故障处理命令有 jps
、jstat
、jmap
、jhat
、jstack
、jinfo
。
jps:显示指定系统内所有的 HotSpot 虚拟机进程。
jstat(JVM statistics Monitoring)是用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT 编译等运行数据。
jstat -options
- -class 用于查看类加载情况的统计
- -compiler 用于查看HotSpot中即时编译器编译情况的统计
- -gc 用于查看JVM中堆的垃圾收集情况的统计
- -gccapacity 用于查看新生代、老生代及持久代的存储容量情况
- -gcmetacapacity 显示metaspace的大小
- -gcnew 用于查看新生代垃圾收集的情况
- -gcnewcapacity 用于查看新生代存储容量的情况
- -gcold 用于查看老生代及持久代垃圾收集的情况
- -gcoldcapacity 用于查看老生代的容量
- -gcutil 显示垃圾收集信息
- -gccause 显示垃圾回收的相关信息(通-gcutil),同时显示最后一次仅当前正在发生的垃圾收集的原因
- -printcompilation 输出JIT编译的方法信息
例:
[root@host /]# jstat -gc 500991
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CSU YGC YGCT FGC FGCT GCT
512.0 1024.0 0.0 600.1 90112.0 72763.9 729088.0 31753.9 69720.0 66252.1 8320.0 7738.2 367 4.329 3 0.739 5.067
jmap:可dump堆内容进行分析
常用命令:
jmap [pid] # 查看具体情况
jmap -dump:live,format=b,file=xxx.xxx [pid] #将当前Java进程的内存占用情况导出来
jmap -histo:live [pid] >a.log # 显示 存活 得对象信息
jmap -finalizerinfo [pid] # 查看 等待执行finalize 方法的数量
jmap -heap [pid] # 堆摘要信息
[root@host xxx]# jmap -heap 500991
Attaching to