当前位置:网站首页 > 技术博客 > 正文

jconsole监控tomcat



Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM,对运行在java应用程序的资源消耗和性能进行监控,并画出大量的图表,提供强大的可视化界面。而且本身占用的服务器内存很小,甚至可以说几乎不消耗。

可以从命令行(直接输入jconsole)或在 GUI shell (jdkbin下打开)中运行。

在这里插入图片描述

当分析工具弹出时(取决于正在运行的 Java 版本以及正在运行的 Java 程序数量),可能会出现一个对话框,要求输入一个进程的 URL 来连接,也可能列出许多不同的本地 Java 进程(有时包含 JConsole 进程本身)来连接。如图所示:
在这里插入图片描述

想分析那个程序就双击那个进程。

本地程序(相对于开启JConsole的计算机),无需设置任何参数就可以被本地开启的JConsole连接(Java SE 6开始无需设置,之前还是需要设置运行时参数 -Dcom.sun.management.jmxremote)

  1. 写一个简单的一直运行的JAVA程序,运行在某台机器上如(192.168.0.181)
  2. 另外一台机器进行连接
 

也可以在已经打开的JConsole界面操作 连接->新建连接->选择远程进程->输入远程主机IP和端口号->点击“连接”,如图:
在这里插入图片描述

然后就会进入分析界面。

进入概述页面,可以看到堆内存,线程,类,CPU使用情况做了个统一的监控并实时显示,这里个页面就可以很有效的全面监视资源的使用情况了,有以下六个标签:

  • 概述: Displays overview information about the Java VM and monitored values.
  • 内存:显示内存使用信息
  • 线程:显示线程使用信息
  • 类:显示类装载信息
  • VM摘要:显示java VM信息
  • MBeans:显示 MBeans.

在这里插入图片描述

在这里插入图片描述

这个比较有价值,参看堆内存,非堆内存,内存池的状况总体内存的分配和使用情况以及不同的GC进行垃圾回收的次数和时间。可以手动进行GC查看内存变化。

在这里插入图片描述

左下角显示所有的活动线程(如果线程过多,可以在下面的过滤栏中输入字符串过滤出你想要观察的线程)。点击某个显示会显示这个线程的名称、状态、阻塞和等待的次数、堆栈的信息。

统计图显示的是线程数目的峰值(红色)和当前活动的线程(蓝色)。另外下面有个按钮“检测到死锁”,有时候会有用处。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果想监控分析系统项目代码里面某个方法的性能(如使用的CPU、GC情况),可以单独跑这个方法。如我要测试系统MC缓存刷新使用的内存和CPU,我先写了下面这样一个main类:

 

运行main类,然后开启jconsole,选择mcTest这个本地进程:

在这里插入图片描述

JConsole毕竟是JDK自带的东西,功能虽然没有一些商业软件那么强大,但是稳定性好,在大压力情况下也不会发生什么问题。而且,提供了相对全面的系统监控功能,还是值得一用的。

版权声明


相关文章:

  • 在线网页爬虫工具2025-04-09 19:30:00
  • uint16最大值2025-04-09 19:30:00
  • socks5代理端口设置2025-04-09 19:30:00
  • amc8怎么报名2025-04-09 19:30:00
  • boolean是什么数据类型2025-04-09 19:30:00
  • v2如何用全局代理2025-04-09 19:30:00
  • k近邻算法经典案例2025-04-09 19:30:00
  • ga丫chinatv2025-04-09 19:30:00
  • 数据库开发教程2025-04-09 19:30:00
  • 简单js特效代码大全2025-04-09 19:30:00