目录
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。命令行里打 jconsole,选则进程就可以了。
需要注意的就是在运行jconsole之前,必须要先设置环境变量DISPLAY,否则会报错误,Linux下设置环境变量如下:
export DISPLAY=:0.0
[root@localhost bin]# jconsole
那我在window机器上的结果是:
上两个图看一下:
可以这里选择查看本地进程的状况,还是远程进程的状况。
通过这张图可以看到内存、线程、类及CPU使用的一些情况。
内存情况:
VM概要:
示例1
packagemat;public class Deadlock implementsRunnable{private inta;private intb;public Deadlock(int a, intb) {super();this.a =a;this.b =b;
}
@Overridepublic voidrun() {synchronized(Integer.valueOf(a)) {synchronized(Integer.valueOf(b)) {
System.out.println("a+b="+(a+b));
}
}
}public static voidmain(String[] args) {for(int i = 0; i < 1000; ++i){new Thread(new Deadlock(1, 2)).start();new Thread(new Deadlock(2, 1)).start();
}
}
}
用jconsole连接上后,看线程页
看死锁信息:
用jvisualVM看上面的示例