1. Jconsole
1.1 Jconsole 介绍
Jconsole(Java Monitoring and Management Console)是从java5开始,是一种基于JMX(java management extensions)的可视化监视、管理工具,它管理部分的功能是针对JMXBean进行管理,在JDK中自带的java监控和管理控制台,用于对JVM中内存,线程和类等的监控。jconsole使用jvm的扩展机制获取并展示虚拟机中运行的应用程序的性能和资源消耗等信息。
1.2 启动Jconsole
在弹出的框中可以选择本机的监控本机的java应用,也可以选择远程的java服务来监控,如果监控远程服务需要在tomcat启动脚本中参考如下代码:
java -Xms256m -Xmx512m -XX:MaxNewSize=128M
-Djava.rmi,server.hostname=localhost
-Dcom.sun.management.jmxremore.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-jar MyJava_JVM-1.0-SNAPSHOT.jar
1.3 页面介绍
连接进去之后,就可以看到jconsole概览图和主要的功能:概述、内存、线程、类、VM、MBeans
概览,以图表的方式显示出堆内存使用量,活动线程数,已加载的类,CUP占用率的折线图,可以非常清晰的观察在程序执行过程中的变动情况。
内存,主要展示了内存的使用情况,同时可以查看堆和非堆内存的变化值对比,也可以点击执行GC来处罚GC的执行
线程,主界面展示线程数的活动数和峰值,同时点击左下方线程可以查看线程的详细信息,比如线程的状态是什么,堆栈内容等,同时也可以点击“检测死锁”来检查线程之间是否有死锁的情况。
类,主要展示已加载类的相关信息。
VM 概要,展示JVM所有信息总览,包括基本信息、线程相关、堆相关、操作系统、VM参数等。
Mbean,查看Mbean的属性,方法等。
2. VisualVM
2.1 介绍
VisualVM 是一个工具,它提供了一个可视界面,用于查看 Java 虚拟机 (Java Virtual Machine, JVM) 上运行的基于 Java 技术的应用程序(Java 应用程序)的详细信息。VisualVM 对 Java Development Kit (JDK) 工具所检索的 JVM 软件相关数据进行组织,并通过一种使您可以快速查看有关多个 Java 应用程序的数据的方式提供该信息。您可以查看本地应用程序以及远程主机上运行的应用程序的相关数据。此外,还可以捕获有关 JVM 软件实例的数据,并将该数据保存到本地系统,以供后期查看或与其他用户共享。
2.2 安装
2.3 插件安装
- 从主菜单中选择“工具”>“插件”。
- 在“可用插件”标签中,选中该插件的“安装”复选框。单击“安装”。
- 逐步完成插件安装程序。
2.4 页面介绍
- 启动页面
概述
监视
线程
查看实例