概述
位置
C:\Program Files\Java\jdk1.8.0_45\bin\jvisualvm.exe
概述
监控所有的java进程
监视
堆dump
类似mat功能
也可以导入hprof文件,该hprof显示内存的占用情况,该hprof的代码如下
public class outmemery {
private static List<User> userList = new ArrayList<User>();
public static void main(String[] args) {
System.out.println("hello world");
int i=0;
while(true) {
userList.add(new User(i++, UUID.randomUUID().toString()));
}
}
}
userList(ArrayList)引用了User对象
线程
线程Dump
类似jstack
抽样器
CPU
可以看出每个方法执行了多长时间
如果说系统的方法执行比较慢了,可以看到哪些方法执行的时间长,可以针对性的处理这些方法,看看方法里是否有不合适的地方,尤其是定位程序慢的时候
内存
类似于执行jstat,每个1秒打印内存的情况
可以看到每个对象占了多少字节,多少个实例,实时展示内部的变化的情况
比如开始启动,对象只占了10m内存,1分钟后,发现变大,且一直未降,有可能是内存泄漏了
安装插件Visual GC
根据jdk版本设置插件安装的URL
访问https://visualvm.github.io/pluginscenters.html
对应74的jdk8的url
在可用插件中安装Visual GC