java柱状图_Java性能监控和故障诊断可视化工具之一:jconsole

Java性能监控和故障诊断除了丰富的命令行工具(jps,jinfo,jstat,jmap,jstack,jcmd)外还提供了可视化的监控工具jconsole、jvisualvm和jmc;这些可视化监控工具覆盖了命令行工具的功能,提供了柱状图,折线图,仪表盘等各种可视化图表从而更加直观、方便的监控Java进程。本篇文章我们首先来介绍下最早的可视化工具jconsole。

jconsole(Java Monitoring andManagement Console)是jdk1.5开始引入的JVM监控工具,基于JMX实现JVM的可视化监控。

1、jconsole的启动

系统运行中输入jconsole(需要先配置环境变量,一般开发人员搭建Java开发环境时都会配置)命令:

9035009b44f521869104ca7a46d5771d.png

点击“确定“后进入jconsole页面,如下图所示:

a3e1a47dd1e6e4f460b4722e7142a146.png

jconsole可以监控本地Java进程,也可以监控远程Java进程。从上图可以看出,本机的Java进程已经都展示出来了,只要选择一个进行监控即可;但一般测试环境或者生产环境的Java服务都是部署远端服务器上,所以我们重点讲如何通过jconsole监控远程Java进程。而jconsole要实现监控远程Java进程,需要远程服务器在启动Java进程时支持JMX连接。

2、支持JMX连接

要配置远程Java进程支持JMX连接,需要在启动Java进程时加入以下属性:

-Dcom.sun.management.jmxremote.port=7091-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

上述配置的意义是开启JMX连接端口7091,同时配置不需要ssl安全认证方式连接(一般我们的监控的服务器都是在本地局域网中,所以没有必要配置ssl安全认证方式连接,若要配置ssl安全认证方式连接,还需要配置连接的用户名及密码等)

3、jconsole监控远程Java进程

假如远程Java进程已经配置了支持JMX连接,则选中远程进程并在输入框中输入远程进程的IP和端口,如:172.30.14.242:7091(小编使用的服务器IP是172.30.14.242,配置的支持JMX的端口是7091),输入完成后点击“连接”按钮,进入远程Java进程监控画面,如下图所示:

427936acfb99479eb9d08200a384988c.png

从图中可见包括内存,线程,类,CPU,VM概要,MBean等。

jconsole主要作用是:

a.远程可视化监控服务器的Java进程;

b.监控堆不同区块的空间占用量;

4、内存监控

点击“内存”页签可以看到内存监控的页面,如下图所示:

54f90e09a203401ec7120a69f4d285ff.png

内存监控相当于使用命令行工具jstat的功能,可以监控虚拟机内存(各个分区)的变化趋势。可以点击右上角按钮“执行GC”后查看图表变化情况以了解GC的原理。

5、线程监控

点击“线程”页签可以看到线程监控的页面,如下图所示:

391928c3283ce846cda96272efb02304.png

线程监控相当于使用命令行工具jstack的功能,点击左下方“线程”窗口内的线程名称,可以看到线程堆栈的跟踪情况,比jstack更加直观和便于分析。另外还可以点击下方的“检查死锁”按钮,查看进程中是否存在死锁。

线程监控的主要作用是分析Java线程停顿的原因。线程停顿的原因主要有:

a、外部资源(数据库、网络资源、设备资源等);b、死循环;c、锁等待。

6、进程中类的加载和卸载情况

点击“类”页签可以看到类的加载和卸载情况页面,如下图所示:

fc40f72059a7d416dfb7ac4189eb45ea.png

7、查看虚拟机的概要情况

点击“VM概要”页签可以看到类虚拟机的概要情况以及相关运行参数页面,类似命令行工具jinfo的功能,如下图所示:

6cf0ffeabdbcf2645d57a5264d2c7c9c.png

小结

以上介绍了可视化工具jconsole的使用,希望对大家有所帮助。后续我们还会带来另外两个可视化工具jvisualvm和jmc的介绍,感兴趣的同学可以关注我们的同名微信公众号“麻辣软硬件”,和我们一起沟通更多技术相关知识!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值