一、jstat命令(Java Virtual Machine Statistics Monitoring Tool)
二、JConsole命令(Java Monitoring and Management Console)
三、jmap命令(Java Memory Map)
四、Java VisualVM(Java Virtual Machine Monitoring, Troubleshooting, and Profiling Tool)
五、MAT(Memory Analyzer Tool)工具入门介绍
一.Java VisualVM 概述
对于使用命令行远程监控jvm太麻烦。在jdk1.6中Oracle提供了一个新的可视化的。JVM监控工具Java VisualVM。jvisualvm.exe在JDK的bin目录下。
双击启动Java VisualVM后可以看到窗口左侧 “应用程序 ”栏中有“本地 ”、“远程” 、“快照 ”三个项目。
“本地 ”下显示的是在localhost运行的Java程序的资源占用情况,如果本地有Java程序在运行的话启动Java VisualVM即可看到相应的程序名,点击程序名打开相应的资源监控菜单,以图形的形式列出程序所占用的CPU、Heap、PermGen、类、线程的 统计信息。
“远程”项下列出的远程主机上的Java程序的资源占用情况,但需要在远程主机上运行jstatd守护程序
VisualVM分为3类,本地它会自动侦测到,并显示出来
双击Local下的任一节点,看到右边的变化,你可以监控CPU,内存,类,线程等运行状况,实时监控服务器性能。
右键VisualVM我们可以看到Thread Dump, Heap Dump
做Thread Dump很快,马上就可以看到结果
Heap Dump要稍花费一些时间(可以看到当前heap里对象的数量及占用的比例,做OOM很好用)
对其功能不再做描述,可以查阅网上相关文章。