java jvm监控实现_JVM及Java监控原理与实践

本文介绍了Java程序的监控方法,重点讲解了JVM内存监控。通过jd-gui和luyten工具进行class文件反编译,详细解析了jps、jstat等Java进程分析命令的使用,以及如何利用VisualVM进行整体情况和线程监控。此外,还探讨了常用的JVM配置参数和高CPU占用线程的排查步骤。
摘要由CSDN通过智能技术生成

简介

主要是介绍一下对运行Java程序的一些跟踪,以及对JVM内存等方面进行运维的一些方法。

反解析class文件的工具使用

一般使用jd-gui工具进行反编译class文件

有些jd-gui无法反编译的class,可以使用luyten工具进行反编译

Java进程分析命令介绍

jps

用于获取所有的JVM进程信息,类似于linux的ps命令

//输出进程号与执行的主类名(jar包名)

jps -l

结果如下:

30352

20708 sun.tools.jps.Jps

6876 mtex-config-0.0.1-SNAPSHOT.jar

复制代码

jstat

用于监控java进程内部各类运行状态信息的工具,可以监控本地或远程虚拟机类装载、内存、垃圾回收等信息。

//监控GC情况 间隔1000毫秒执行1次 执行5次

jstat -gc 6876 1000 5

执行结果如下:

C:\Users\dell>jstat -gc 6876 1000 5

S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT

13824.0 15872.0 13804.6 0.0 140288.0 129170.6 102400.0 19730.9 54528.0 52078.9 7168.0 6684.3 10 0.143 2 0.172 0.315

13824.0 15872.0 13804.6 0.0 140288.0 129170.6 102400.0 19730.9 54528.0 52078.9 7168.0 6684.3 10 0.143 2 0.172 0.315

13824.0 15872.0 13804.6 0.0 140288.0 129170.6 102400.0 19730.9 54528.0 52078.9 7168.0 6684.3 10 0.143 2 0.172 0.315

13824.0 15872.0 13804.6 0.0 140288.0 129170.6 102400.0 19730.9 54528.0 52078.9 7168.0 6684.3 10 0.143 2 0.172 0.315

13824.0 15872.0 13804.6 0.0 140288.0 129170.6 102400.0 19730.9 54528.0 52078.9 7168.0 6684.3 10 0.143 2 0.172 0.315

结果说明:

S0C 年轻代s0区容量

S1C 年轻代s1区容量

S0U 年轻代s0区使用量

S1U 年轻代s1区使用量

EC 年轻代eden区容量

EU年轻代eden区容量

OC 老年代容量

OU 老年代使用量

MC 元空间容量

MU 元空间使用量

CCSC 压缩类空间容量

CCSU 压缩类空间使用大小

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

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

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

FGCT 从应用程序启动到采样时全gc时间

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

复制代码

s0和s1中必然有一个的使用空间为0,用于复制交换

JDK 1.8以下MC/MU指标为PC/PU。(jdk1.8使用元空间替换了永久代)

通过参数的不同,可以进行某些方面的重点信息关注

选项

作用

-class

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

-gc

监视Java堆状况,包括Eden区、两个survivor区、老年代、元空间的容量、已用空间、GC时间合计等信息

-gccapacity

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

-gcutil

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

-gccause

与-gcutil功能一样&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值