java性能监控

java性能监控

jdk命令行工具监控

jps -l

显示系统运行的所有java进程,以及对应进程的打包的包名或者主程序入口类名称

在这里插入图片描述

jinfo + pid

显示对应的java进程的系统配置和JVM参数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

jstat

查看java进程的class加载信息,编译信息,gc信息
gc统计:jstat -gc 6285 250 4 (每隔250ms打印4次)

在这里插入图片描述

S0C、S1C、S0U、S1U:Survivor 0/1区容量(Capacity)和使用量(Used)
EC、EU:Eden区容量和使用量
OC、OU:年老代容量和使用量
MC、MU:元空间容量和使用量
CCSC、CCSU压缩类空间(短指针)容量和使用量
YGC、YGCT年轻代回收次数,年轻代回收消耗时间
OGC、OGCT老年代垃圾回收次数,老年代垃圾回收消耗时间
GCT	垃圾回收消耗总时间
编译统计:jstat -compiler 6285

在这里插入图片描述

类加载统计:jstat -class 6285

在这里插入图片描述

jmap + mat

查看内存的对象
jmap -dump:format=b,file=heap.hprof  6285
使用hprof二进制形式,输出jvm的heap内容到文件heap.hprof
可在/root目录打开heap.hprof文件。
mat:从https://www.eclipse.org/mat/downloads.php下载相应的MemoryAnalyzer分析工具安装

在这里插入图片描述

Problem Suspect 分析出可能出现的内存泄露问题

在这里插入图片描述

Histogram分析内存中对象的个数和占用空间,选中每个对象右键可选择查看最短的GC ROOTS引用路径。

在这里插入图片描述
在这里插入图片描述

dominator_tree查看对象占用内存

jstack + pid

查看java进程中线程的详情信息

在这里插入图片描述
在这里插入图片描述

eg:cpu飙高问题?
top -p pid -H
jstack pid
printf "%x" 十进制的线程id (最耗cpu的线程)
线程十六进制的id和5524.txt中线程的nid相同
eg:死锁

JVisualVM可视化监控

监视本地的java进程

在这里插入图片描述

导出堆Dump,也可从外部导入dump文件

在这里插入图片描述

在这里插入图片描述

监视远程的java进程

配置:
java -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar 
eladmin-system-2.3.jar 
12345为需要监控的端口,远程机器需要开启
eladmin-system-2.3.jar为程序名称
本机jvisualvm添加监控

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值