java 虚拟机内 控制台,【JAVA虚拟机】可视化监视与管理控制台-JConsole

1 什么是JConsole

Java开发者为了方便广大研发人员在开发过程中,对jvm性能情况进行实时监控与查看,开发了一整套完整的性能监控系统,包括命令行脚本与可视化页面,其中,命令行脚本的使用方式可以查看文章:【java虚拟机】JDK的命令行工具详解 。

但是,虽然命令行工具的功能完备且强大,但是由于使用复杂,可视化程度低,不利于研发人员的使用,所以jdk也同时内置了可视化监控工具JConsole,在jdk的bin目录下既可以找到。

JConsole(Java Monitoring and Management Console)是一种基于JMX的可视化监视、管理工具。

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

2 JConsole的使用

1) 进入JDK/bin目录下,找到“jconsole.exe”文件,双击启动。

a2bcf73b4f92742a10b5ce80fe3f58ed.png

2) 工具将自动搜索出本机运行的所有虚拟机进程,选择其中一个,点击连接。

b67fcdcba2bb4f9524a2c512d8eb938b.png

3) 选择信任不安全的链接。

505945e7e6124bd5019d742eeeedd4d1.png

4) 接下来就可以对进程进行监控了。

d1431d135c9e5dec00829fc0efecb87b.png

3 监控内容说明

3.1 内存监控

3d6621105f237cbb8e52b34dc36d3bef.png

这个页签相当于可视化的jstat命令

如图所示,可以监控java进程的各个内存的使用情况,包括Java堆和永久代,比如图中展示的就是堆内存的情况,图中为了演示效果写了一直不断创建对象的代码,并将最大堆内存设置为20M,可以看到堆内存一直不断增加,到了10M左右时,发生垃圾收集,收集后下降到3M左右。

414a3b496201d2925a67123846056b65.png

右下角这个区域,展示了全部内存块的概要,可以看到堆内存分了三块,非堆内存分了5块,可以说非常直观,具体每块是什么内容这里不做详细解释。

12fe6c7635d5a2b72d0cac36a6217835.png

左下角展示了一些指标信息,比如上次垃圾收集时间、最大内存值等等。

3.2 线程监控

a1092111ae724328f95487d547efb41b.png

线程”页签的功能相当于可视化的jstack命令 如图所示,可以查看线程数量,对于多线程程序的分析,是一个很直观的展示进程内的线程数量变化情况,下面的进程详情,可以看线程的堆栈信息,查看是否堵塞等。

遇到线程停顿时可以使用这个页签进行监控分析。前面讲解jstack命令的时候提到过线程长时间停顿的主要原因主要有:等待外部资源(数据库连接、网络资源、设备资源等)、死循环、锁等待(活锁和死锁)。

3.3 类监控

194f388b5d2f68c8011f20b247f36388.png

这里可以查看进程加载类的数量变化情况。

3.4 VM概要

64fd17946bc184c49bb0edc212f300c9.png

VM概要主要用文字方式展示进程的最新状态值,包含内容比较多这里不意义解释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值