Java性能分析器JConsole(监控内存和线程)使用教程

JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具。Jconsole可以用于监控内存和线程。

一、可视化监控工具(Jconsole)的使用

1、进入jdk的bin目录,找到jconsole.exe程序。如下图


双击jdk bin目录下的jconsole.exe程序打开jvm可视化监控工具

2、设置密码文件和权限

在jdkjrelibmanagement中将jmxremote.password.template复制一份重命为

jmxremote.password。修改最后两行,将

#monitorRole QED

#controlRole R&D

前面的#号去掉

然后修改jmxremote.password的文件权限为仅当前用户完全控制,所有者为当前用户


3、启动JMX服务器

l 测试代码:

4、启动JConsole



5、模块介绍

1) 概览

l 概要界面,主要显示堆内存使用情况、活动线程数、加载类数、CPU使用率四个参数的概要,可以通过下拉框来定制显示的时间范围

l 假如堆内存的图像一直在上升而没有下降的动作发生,则要怀疑是否内存泄露。健壮的项目由于GC的存在,所以它的上升和下降的幅度应该大抵相同

l CPU的图像规律跟堆内存的大致相同


2) 内存



l 图示为被监控程序的详细内存图

l 点击右上的执行GC按钮可以通知JVM进行垃圾回收,执行的是Full GC,实质是把垃圾回收队列的优先级提高

l GC 时间显示了垃圾回收的时间以及回收数,上面的是Young GC执行的时间和次数,下面的是Full GC执行的时间和次数

l 右下角的图案,Heap内存区包括:年轻代Eden Space、存活代Survivor Space和老年代Tenured Gen。Non-Heap内存区包括:代码缓存区Code Cache和持久代Perm Gen;可通过改变下拉框或者直接点击图形实现切换。

3)线程


l “峰值”表示最大的线程数  

l 点击具体的线程之后,我们可以看到它的状态以及方法栈的详细调用情况

l 点击“检查死锁”可以检测是否有死锁

3) 类

关注点:类的数量变化

4) VM概要


l 上面几栏是关于系统和项目的概要信息

l 最下面一栏的第一项是设定的JVM参数,如果你想知道你设置的参数有没有成功启用,看这里就对了

4)MBean



操作显示该bean的所有方法,可以点击该按钮触发方法,但个人不推荐这么做,应该通过程序的统一入口来触发

展开阅读全文

页面更新:2024-04-24

标签:死锁   线程   内存   分析器   概要   垃圾   性能   参数   时间   工具   程序   方法   教程

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top