目录
VisualVM工具的使用
VisualVM工具基本涵盖内存分析jmap、线程分析jstack等功能,并且是可视化的,可以远程连接生产环境的服务器进行分析。
启动VisualVM
概览
主界面:
打开之后左侧菜单栏就会显示所有在本台机器上正在运行的JVM进程列表--
以idea进程为例--
【监视】:【执行垃圾回收】、【堆Dump】、CPU、内存、类、线程、Metaspace元数据空间。
堆dump:类、实例数、OQL控制台。
【线程】:线程dump,类似于jstack
【抽样器】:对【CPU】和【内存】进行采样。
查看本地进程
查看CPU、内存、类、线程运行信息
查看线程详细信息
抽样器
监控远程的JVM
VisualVM不仅可以监控本地的JVM进程,还可以监控远程的JVM进程,需要借助于JMX技术实现。
什么是JMX
JMX可以跨操作系统,也就是Windows和Linux系统可以相互进行网络传输。
监控远程的tomcat
想要监控远程的tomcat,就需要在远程的tomcat进行JMX的配置,方法如下:
修改完成后,重启tomcat生效。
vi catalina.sh:
使用VisualVM连接远程tomcat
此时就已经远程连接上了--
执行堆dump操作时,需要将远程服务器dump文件下载到本地,然后就可以通过VisualVM进行查看了。