java jconsole_jconsole与jvisualvm

jvisualvm同jconsole都是一个基于图形化界面的、可以查看本地及远程的JAVA GUI监控工具,可以认为jvisualvm是jconsole的升级版,因此这里不再介绍jconsole,只介绍jvisualvm。jvisualvm是一个综合性的分析工具,可以认为其整合了jstack、jmap、jinfo等众多调试工具的功能,并以图形界面展示.

jvisualvm启动很简单,直接在命令行中输入"jvisualvm"即可。之后出现下图:

652c4e21a5e1978043a6de9605bfd4bf.png

侧边框介绍:

本地:如果你本地有java进程启动了,那么在本地这个栏目就会显示。

远程:就是监控的远程主机

由于本地和远程展示的监控界面都是相同的,这里直接介绍远程,远程监控回了,本地监控自然而然也会了。

注意,一个主机如果希望支持远程监控,需要在启动时添加以下参数:-Dcom.sun.management.jmxremote.port=1099

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

此外,-Dcom.sun.management.jmxremote  JDK5时,需要指定这个参数,开启JMX管理功能,JDK6之后,JMX管理默认开启,不需要指定

之后,右击"远程"-->"添加远程主机",出现界面

b0b689461d285de9066cc4c09000c3c5.png

在连接后面添加一个1099,这是远程主机jmx监听的端口号,点击确定,侧边栏变为:

805de59092d1e72f2ea3b7b594ff50b8.png

点击红色框中的jmx连接,出现以下界面

727c16bf2889287c3c04e9d7e41f446c.png

jvisualvm分为四个选项卡:概述、监视、线程、抽样器,下面我们一一介绍:

“概述 ”选项卡:

默认显示的就是概述选项卡,其中的信息相当于我们调用了jinfo命令获得,其还包含了两个子选项卡:

jvm参数栏:相当于我们调用jinfo -flags 获得

系统属性栏:相当于我们调用jinfo -sysprops 获得

“监视”选项卡:

主要显示了cpu、内存使用、类加载信息、线程信息等,这只是一个概要性的介绍,如下图:

c6814bd0c28a1d957defecc90e0254eb.png

右上角的"堆dump"会在远程主机上,dump一个内存映射文件,之所以不直接dump到本地,主要是因为这个文件通常比较大,直接dump到本地会很慢。

043df4d4364bd55ecca98e428c953743.png

dump完成之后,可以手工下载这个文件,通过"文件"->"装入"来进行分析,不过我们一般还是使用mat来进行分析,不会使用这个功能。

“线程”选项卡:

bfbea486d3badfd1bf210b7694dc37c9.png

线程选项卡列出了所有线程的信息,并使用了不同的颜色标记,右下角的颜色表示了不同的状态。

右上角的线程dump会直接把线程信息dump到本地,相当于调用了jstack命令,如:

072b21fce15d1987ef8429271d4d184d.png

“抽样器 ”选项卡:

51598f91e35af41c9290647e85c27322.png

主要有"cpu"和"内存"两个按钮,读者可以分别点击一下,看一下显示效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值