Jconsole

Jconsole

1.1 简介以及连接

  JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具。下面以对tomcat的监控为例,带领大家熟悉Jconsole这个工具。

  Step 1,在dos/bash命令下输入:jconsole;

  Step 2,在弹出的对话框中选中apache,并点击connect(假设你的tomcat已经启动);

  

  接下来,你就能使用jconsole来做一些简单的性能监控了。

1.2 模块介绍

1.2.1 Overview

  

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

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

  3. CPU的图像规律跟堆内存的大致相同。

1.2.2 Memory

  

  1. 图示为被监控程序的详细内存图;

  2. 关注点1:点击右上的GC按钮可以通知JVM进行垃圾回收,实质是把垃圾回收队列的优先级提高;

  3. 关注点2:GC time显示了每次回收的时间、算法以及回收数,7.619 seconds是用时,Copy表示垃圾回收机制的复制算法,MarkSweepCompact表示垃圾回收机制的标记-清除-压缩算法,1426 collections表示回收的数量;

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

1.2.3 Threads

  

  1. Peak表示最大的线程数,这个数值可以通过更改<tomcat_home>/conf/server.xml下的maxThreads来更改;

  2. 点击具体的Thread之后,我们可以看到它的方法栈的详细调用情况;

  3. 点击Detect Deadlock可以检测是否有死锁。

1.2.4 Classes

  

  关注点:类的数量变化。

1.2.5 VM Summary

  

  关注点1:上面几栏是关于系统和项目的概要信息;

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

1.2.6 MBeans

  

  关注点1:Attributes显示该bean的详细细节;

  

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

posted @ 2018-02-13 18:02  小学生II  阅读(249)  评论(0编辑  收藏  举报