1.说明
环境:必须要有java的运行环境
2.打开及查看步骤
打开jvisualvm 步骤
win+R--- cmd,在cmd窗口输入命令 jvisualvm,打开的界面如下图
这里我实现开启了一个微服务,点击微服务进程,进入
进入后可以看到详细的数据信息
监视模块展示的信息,圈住的地方点击堆可以查看堆相关的信息,点击堆的右边mataSpace是java8开始具备的元空间
线程模块展示的信息,橙色的是驻留(线程池中空闲的线程,等待接收新的任务),监视说明。线程之间存在竞争,正在等待锁的释放。
具体的总结如下
运行:正在运行
休眠:sleep
等待:wait
驻留:线程池中空闲的线程
监视:阻塞的线程,正在等待锁
内存这些还监控不到,需要安装插件
3.插件的安装方法
安装位置在:工具--插件
插件可无法检查更新等,会出现无法连接错误,可能是插件中心配置有问题
解决插件中心无法连接的步骤:
1.打开插件中心的地址:https://visualvm.github.io/pluginscenters.html
现在打开cmd查看当前系统安装的jdk版本
在网站找到对应版本区间的连接,点击进入(如果直接复制是html的话才点击进入,gz结尾)
复制该链接,安装我标注的顺序点开,然后将刚刚复制的连接粘贴进去
确定后配置地址完成,相当于更新了插件中心的地址
下面开始现在插件:
点击 可用插件,选择Visual GC(通过它可以观察到整个垃圾回收的过程)
点击安装,下一步
完成安装
安装完成,退出重启
4.Visual GC 的使用及内存区的简单描述
重新打开,还是选择之前已经启动的微服务,在最右边可以看到已经安装好的visual GC,点击这个按钮后可以看到整个GC的过程,在途中,可以清晰的看到元空间、老年带,伊甸园,幸存者区S0和S1,
可以实时的看到整个垃圾回收的过程
右边的图像区,如下圈出的部分,GC Time:发生了21次的GC ,花费223.534ms,从图中也能看出老年带,伊甸园区可以看到满了 ,咔!!,一下又没了,老年带满了才会发生fullGC