1、首先我们要找到这个工具,其就在JDK安装目录的bin子目录中(图示)
2、双击运行即可,从左侧菜单我们可以看到,其可以用于监控本地或远程Java进程的运行状况,也可以查看dump文件。
3、我们以本地监控为例,双击某一个java进程,在右侧即展示出这个进程相关的所有信息,包括如下页签:概述:该JVM进程的主类,参数和详细的jvm参数等监视:包含CPU,堆(内存傧韭茆鳟),类的加载和启动的线程等信息线程:线程相关的信息抽样:可对CPU、内存进行抽样
4、我们聪艄料姹再以自己的一个Java进程为例,通过这个工具来查看该进程的线程堆栈信息,我们的Java程序很简单,就是开启 ServerSocket 监听本机一个端口 (相关核心代码请参考图示),启动弛贾班隧程序后,在 jvisualvm 中可以找到该进程,双击这个进程,点击进入右侧的“线程”页签。
5、点击该页签中的“线程Dump”按钮,此时会打开另一个页签,其中显示所有线程的详细运行情况,找到我们最关心的 main 主线程,可以看到起目前是运行状态,并且阻塞在 accept 方法调用上了!