关于Jconsole的使用心得 jconsole的使用手册
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。前面周鑫也分享了Jconsole远程监控怎么配置,在这里我就不再重复了。废话就到这里吧,接下来咱们来看看Jconsole的一些功能页面。
1、概述:有关堆内存使用情况、线程、类加载和CPU使用情况的综述。如下图所示:
2、内存:堆内存和其他内存。如下图所示:
3、线程:峰值/活动线程,在此页面可以查看到各个线程的明细,也可以进行死锁检测。如下图所示:
4、类:监控加载和卸载的类,这个需要综合其他工具进行具体的分析。
5、Mbean:当前Java程序的Mbean的操作。
6、VM摘要:有关JVM的明细信息。
看到这里,可能有同学会不太明白,这里有些名词,例如:JVM、堆内存等等。首先解释下JVM,JVM(Java Virtual Machine,Java虚拟机的缩写),JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的);堆内存是区别于栈区、全局数据区和代码区的另一个内存区域。堆允许程序在进行时动态的申请某个大小的内存(堆内存、栈内存)。
使用Jconsole,我们可以很直观的观察到JAVA进程的内存、CPU、线程调度的使用情况,监控一段时间也可以进行数据的导出。
好了,到这里咱们就知道了Jconsole功能页面,接下来说说定位线程死锁的方法,可以使用Jconsole直接查看某个线程是否有死锁,也可以使用Jstack 进程ID进行查看。分析线程是否有死锁,我们必须了解线程的各个状态含义,线程在创建完毕后进入new状态,调用了线程的start方法后线程就进入了RUNNABLE状态,放入 JVM的可运行线程队列中,等待获取CPU的执行权,JVM按照线程的优先级及时间分片、轮循的方式来执行RUNNABLE状态的线程。当线程进入start代码段,开始执行时,其线程状态转变为RUNNING。线程在执行过程中如果执行了sleep、wait、join或者IO阻塞、锁等待时,则进入WAIT或BLOCK状态,在这种状态下线程放弃CPU的使用权,进入wait sets或锁sets中,知道WAIT结束、线程被唤醒或获取到锁,在这些情况下线程会再次进入到RUNNABLE状态,线程执行完毕后,线程就可以从运行线程队列中删除了。使用jstack命令查看到的线程状态如下:
Jconsole于此同时也支持插件,以Jtop为例,Jtop为JDK自带的插件,可以实时查看线程的CPU耗时,在命令行输入jconsole -pluginpath 插件的绝对路径,如下图所示:
启动的GUI会多一个标签页:
就写到这里吧,有新的掌握,再跟大家同步。
更多阅读
关于安全的手抄报图片 小学生手抄报图片大全
关于安全的手抄报图片——简介整理了些关于安全的手抄报图片,供大家欣赏。关于安全的手抄报图片——关于安全的手抄报图片关于安全的手抄报图片 1、安全是生命之本,安全永在我身边。放学回家不要在外面逗留,直接回家关于安全的手抄报
十大经典的关于母亲的电影 八卦神探国语
母亲节就要到了,整理出十大关于母亲的电影,祝全天下的母亲节日快乐,永远年轻。健康。十大经典的关于母亲的电影——步骤/方法十大经典的关于母亲的电影 1、妈妈再爱我一次应该说从上世纪80年代走来的观众,大抵都还记得记忆里的那一次集
关于爱的六个谎言 武志红爱的八个谎言
关于爱的六个谎言武志红谎言(一):没有父母不爱自己的孩子这是天下无数谎言中的No.1。这个谎言如此绝对,以至于很容易被驳倒。实际上,我们只需要找出一个例外就可以驳倒这个断言,而这样的“例外”又实在是太多
名言警句系列之十一关于公平的名言警句 名言警句大全
关于公平的名言警句符同权1.政在去私,私不去则公道亡。(傅玄)2.一心可以兴邦,一心可以丧邦,只在公私之间尔。(朱熹)3.治身莫先于孝,治国莫先于公。(苏轼)4.大明无私照,至公无私亲。(张蕴古)5.公生明,偏生暗。(荀子)6.人心公则如烛,四方上下,无所不照
在中国,关于大麻的刑罚 中国古代刑罚大全
最近关于各种大麻的的新闻不断,昨儿看到陈同学被入刑事罪,顺手查了下在中华人民共和国关于大麻的刑罚,发现原来我国的刑法相当地科学。跟毒品相关的行为,主要分为三类,自用,教唆收容他人,运输贩卖,牵扯到未成年人的,都要从重处罚。在这三类