1.说明

环境:必须要有java的运行环境

2.打开及查看步骤

打开jvisualvm 步骤

win+R--- cmd,在cmd窗口输入命令 jvisualvm,打开的界面如下图

win java visualvm 连接 java visualvm使用_jvm

这里我实现开启了一个微服务,点击微服务进程,进入

win java visualvm 连接 java visualvm使用_jvm_02

进入后可以看到详细的数据信息

win java visualvm 连接 java visualvm使用_java_03

 

监视模块展示的信息,圈住的地方点击堆可以查看堆相关的信息,点击堆的右边mataSpace是java8开始具备的元空间

win java visualvm 连接 java visualvm使用_java_04

线程模块展示的信息,橙色的是驻留(线程池中空闲的线程,等待接收新的任务),监视说明。线程之间存在竞争,正在等待锁的释放。

具体的总结如下

运行:正在运行

休眠:sleep

等待:wait

驻留:线程池中空闲的线程

监视:阻塞的线程,正在等待锁

win java visualvm 连接 java visualvm使用_java_05

内存这些还监控不到,需要安装插件

win java visualvm 连接 java visualvm使用_java_06

3.插件的安装方法

安装位置在:工具--插件

win java visualvm 连接 java visualvm使用_微服务_07

插件可无法检查更新等,会出现无法连接错误,可能是插件中心配置有问题

win java visualvm 连接 java visualvm使用_java_08

解决插件中心无法连接的步骤:

1.打开插件中心的地址:https://visualvm.github.io/pluginscenters.html

win java visualvm 连接 java visualvm使用_微服务_09

现在打开cmd查看当前系统安装的jdk版本

win java visualvm 连接 java visualvm使用_jvm_10

在网站找到对应版本区间的连接,点击进入(如果直接复制是html的话才点击进入,gz结尾)

win java visualvm 连接 java visualvm使用_jvm_11

win java visualvm 连接 java visualvm使用_java_12

复制该链接,安装我标注的顺序点开,然后将刚刚复制的连接粘贴进去

win java visualvm 连接 java visualvm使用_jvm_13

确定后配置地址完成,相当于更新了插件中心的地址

下面开始现在插件:

点击 可用插件,选择Visual GC(通过它可以观察到整个垃圾回收的过程)

win java visualvm 连接 java visualvm使用_微服务_14

点击安装,下一步

win java visualvm 连接 java visualvm使用_线程池_15

win java visualvm 连接 java visualvm使用_线程池_16

完成安装

win java visualvm 连接 java visualvm使用_线程池_17

安装完成,退出重启

win java visualvm 连接 java visualvm使用_java_18

4.Visual GC 的使用及内存区的简单描述

重新打开,还是选择之前已经启动的微服务,在最右边可以看到已经安装好的visual GC,点击这个按钮后可以看到整个GC的过程,在途中,可以清晰的看到元空间、老年带,伊甸园,幸存者区S0和S1,

可以实时的看到整个垃圾回收的过程

win java visualvm 连接 java visualvm使用_线程池_19

右边的图像区,如下圈出的部分,GC Time:发生了21次的GC ,花费223.534ms,从图中也能看出老年带,伊甸园区可以看到满了 ,咔!!,一下又没了,老年带满了才会发生fullGC

win java visualvm 连接 java visualvm使用_微服务_20