JVM可视化监测工具jconsole 入门说明

jconsole 是基于 jmx 之上的一个 jvm 的监控工具。一个 java GUI 监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器 VM。用 java 写的 GUI 程序,用来监控 VM,并可监控远程的 VM,非常易用,而且功能非常强。在 Mac 下命令行里打 jconsole,选则进程就可以使用它了。

jconsole 主要监控 JVM 的概览、内存、线程、类、vm概要、MBean等内容。

一、运行jconsole工具

如果是本地环境,我们直接命令提示符窗口输入 jconsole 即可打开 jconsole GUI 程序(java环境变量已经配置好,如未配置好可以java->bin目录下双击jconsole也可运行)。
在这里插入图片描述
在这里插入图片描述
如果监测远程linux的tomcat服务器,需要在catalina.sh加入如下配置:
在这里插入图片描述
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
在这里插入图片描述

二、jconsole使用说明

在使用前最好对线程、堆栈有充分的认识,否则即使有问题也无从入手分析。

在这里插入图片描述

其中 VM 选项卡中显示的内容非常的多。在此选项卡中提供的信息包括以下内容。
摘要
运行时间 :开始以来,Java虚拟机的时间总额。
进程的CPU时间 :Java VM的开始,因为它消耗的CPU时间总量。
编译总时间 :累计时间花费在JIT编译。

主题
活动线程 :目前现场守护线程,加上非守护线程数量。
峰值 :活动线程的最高数目,因为Java虚拟机开始。
守护线程 :当前的活动守护线程数量。
总线程 :开始自Java虚拟机启动的线程总数,包括非守护进程,守护进程和终止的线程。


当前类装载 :目前加载到内存中的类数目。
总类加载 :从Java VM开始加载到内存中的类总和,包括那些后来被卸载的类。
已卸载类总数 :从Java虚拟机开始从内存中卸载的类的数目。

内存
当前的堆大小 :目前所占用的堆的千字节数。
分配的内存 :堆分配的内存总量。
最大堆最大值 :堆所占用的千字节的最大数目。
待最后确定的对象:待最后确定的对象的数量。
花在执行GC的垃圾收集器 :包括垃圾收集,垃圾收集器的名称,进行藏品的数量和总时间的信息。

操作系统
总物理内存
空闲物理内存
分配的虚拟内存

其他信息
VM参数 :输入参数的应用程序通过Java虚拟机,不包括的主要方法的参数。
类路径是由系统类加载器用于搜索类文件的类路径。
库路径 :加载库时要搜索的路径列表。
引导类路径 :引导类路径是由引导类加载器用于搜索类文件。

看似 jconsole 的操作功能比较少,但实际上包含非常多的内容。

JConsole 会消耗大量系统资源,因此 Oracle 建议仅在用于创建原型的开发环境中使用它。还建议使用远程监控将 JConsole 应用程序与所监控的平台隔离。因此线上使用的人非常的少,网上的相关教程也不是很多。

最后简单列举下几种常见的线程
[main] 主线程
[http-nio-8080-exec-10] http请求线程
[DefaultQuartzScheduler_QuartzSchedulerThread] 定时线程
[DefaultQuartzScheduler_Worker-1]
[Timer-3] 定时线程?(待确认)
[Catalina-utility-2] ?

内存入门简介参考
https://blog.csdn.net/u014729212/article/details/105607064

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值