JVM堆内存监控-VisualGC

堆内存使用情况监控

准备一份代码

import java.util.ArrayList;
public class HeapTest {
    byte[] a=new byte[1024*100];//100KB
    public static void main(String[] args) throws InterruptedException {
        ArrayList<HeapTest> heapTest=new ArrayList<>();
        while (true){
            heapTest.add(new HeapTest());
            Thread.sleep(10);
        }
    }
}

把上面的代码复制到IDEA编译器上把跑来,堆控制台啥也没有,就是个死循环向ArrayList中添加对象,这里的对象都是new出来的,那么就会放在堆里面,我们现在进入正题,看看是怎么监控堆内存的,这里提供两种方式
1.jvisualvm命令装载插件(因为这个命令自带的插件安装库中没有)
我们CMD进入命令行
在这里插入图片描述
稍加等待…会出现这个界面!!!
在这里插入图片描述
看到这个还不行,因为这里没有VisualGC,如果有,也不会存在插件安装这么一说了。
勒!这是VisualGC插件可视化GC插件 下载地址
打开后会懵逼,哈哈,找不到在哪下载!!!不要慌,有我在。上图!!!
在这里插入图片描述
点击Plugins进入下一个界面
在这里插入图片描述
点击Plugins Centers
在这里插入图片描述
在框中选择对应的版本(这里注意,VisualGC目前只有6-8的版本,我当时的JDK的版本是11的,没错就是11这个版本,不是这个版本好用,而是我就是喜欢11这个名字。唉!)

进入jvisualvm的插件管理 “工具” - “插件” 在"设置"中修改url地址为刚才我们在github上找到的对应我们JDK版本的地址
在这里插入图片描述
安装VisualGC插件
在这里插入图片描述
这时点击完成就可以看到VisualGC这个标签,(如果没有就从起一下这个,上面的cmd命令行c回车一下,或者直接×掉,然后cmd敲jvisualvm这个从起)
在这里插入图片描述
这个方法可能比较繁琐,来我们还有解决方案2
2.直接下载VisualGC
VisualGC下载地址
在这里插入图片描述
这个是w版的下面的是m版的。
下载后会得到这个文件visualvm_201.zip,解压后会得到这些目录
在这里插入图片描述
打开bin目录会看到一个visualvm.exe可执行程序,点击运行即可!然后我们运行我们上面的代码!
在这里插入图片描述
这是上面的HelpTest跑了一小会的堆内存GC情况,在左侧的选项中可以看到有一个HelpTest的程序在运行,对就是这个双击,选择右侧的上面的导航栏VisualGC,那么就可以清清楚楚明明白白的看到GC的收集情况,这里如果要知道GC的逻辑,可以看我的另一篇文章JVM底层实现原理这篇文章中涉及到GC对堆内存的处理情况!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员劝退师-TAO

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值