持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情
前言
几款JVM的图形化监控工具介绍,这类工具作用大同小异,看需求选择适合自己的。
jconsole
在命令行输入
jconsole
即可打开。可以直接选择本地JVM,也可以通过JMX方式连接远程JVM
1.概览
堆内存使用量:展示Java内存模型中的堆
线程:展示JVM中活动线程的数量
类:JVM 一共加载了多少个类
CPU占用率:CPU使用率反馈系统负载和压力
复制代码
2.内存
提供展示统计了6个内存区域的内存使用和变化情况
还有各个内存池的百分比使用率,以及堆/非堆空间的汇总使用情况
还可以看到JVM使用的垃圾收集器,以及执行垃圾收集的次数,以及相应的时间消耗
复制代码
3.线程
线程面板展示了线程数变化信息,以及监测到的线程列表
可以根据名称直接查看线程的状态和调用栈
还可以直接点击“检测死锁”按钮来检测死锁,如果没有死锁则会提示“未检测到死锁”
复制代码
4.类
可以直接看到 JVM 加载和卸载的类数量汇总信息,以及随着时间的动态变化情况
5.VM
VM概要的数据有五个部分:
扫描二维码关注公众号,回复:
14342607 查看本文章
![](/qrcode.jpg)
1.虚拟机的信息
2.线程数量,以及类加载的汇总信息
3.堆内存和 GC 统计
4.操作系统和宿主机的设备信息,比如CPU 数量、物理内存、虚拟内存等等
5.JVM启动参数和几个关键路径
复制代码
jvisualvm
在命令行输入
jvisualvm
即可启动jvisualvm
双击某个进程即可打开
监视面板
线程面板
抽样器面板
VisualGC
VisualGC是一款插件,在IDEA插件中下载即可。
双击某个进程进入
监控界面
jmc
JDK8好像需要单独下载,因为在JDK7的bin目录发现了jmc,然而JDK8没有。
官网:http://jdk.java.net/jmc/8/
在命令行输入
jmc
即可打开
选择某个进程
监控界面