JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

jvisualvm 使用教程

wys521 2024-09-18 23:51:28 精选教程 33 ℃ 0 评论

前记

之前看过 jvisualvm,但是那个时候对 JVM 并不是很熟悉,后面看了下八股文,看了下 JVM 的相关知识之后,发现多了解点 JVM 的东西,对我们 CRUD 其实是有指导意义的,就比如我们通常会 new 一堆的没有用到的对象出来,这些其实就是会占用 JVM 内存空间。其实很久之前就玩过了这个 jvisualvm,可惜年少不知 jvisualvm 的好,错吧 CRUD 当成宝。

看来有些时候,该看的,该学的,都不能偷懒。废话说了这么多了,那我们开始吧:

老版本

在JDK 对应的 bin 路劲下,存在这个对应的可执行文件,我在 JDK-17 的包下面没有找到(点击这里 VisualVM: Home,或者看文章后面),然后在 JDK 1.8 的包下面看到了

启动

在 cmd 中 直接执行 jvisualvm.exe 就好,运行完了之后,就可以看到 jvisualvm 的程序界面了:

安装插件

为了方便于我们更加直观的观察 Heap 堆的情况,我们可以来安装一个插件 Visual GC。

在 “工具 -> 插件” 中

找到 “设置 -> 编辑”

一般会报错,因为默认的链接已经给转移了,需要在设置那里把默认的链接更改

修改 URL

那URL填什么呢?先确定一下自己的jdk版本号,然后用以下链接去查看URL

确认版本号,可以菜单键+R,执行cmd,输入 java -version 来查看自己的版本号,比如我的 jdk8 是 91 的版本

访问网站:VisualVM: Plugins Centers, 找到自己对应的,比如我的就在下面的区间,找到下面的连接地址:

修改完之后:

其实这个时候,已经可以看到可用插件就有 16个了

下载插件

勾选之后,点击安装就搞完了

然后选择一个就对应的进程就可以看到了

高版本

高版本需要单独下载,这里我们访问下官网,VisualVM: Download下载最新的就好,下载完了之后,解压

修改配置文件

修改为自己的JDK 路径就好

启动

我们找到 bin 路径下面的对应的 exe 文件,双击启动

启动之后的界面

安装插件

采用同样的方式下载就好,不过,最新的不用我们再去找对应的插件地址了:

找到 Visual GC 就好 ,install 就好

监控

我们来准备一段测试代码

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
 
public class HeapTest {
 
    public static void main(String[] args) throws InterruptedException {
        List list = new ArrayList();
 
        while (true) {
            list.add(new HeapTest());
            TimeUnit.SECONDS.sleep(3);
        }
    }
}

然后找到对应的线程ID,进入查看

好了,就到这里吧,后面还有一些性能指标,这个大伙可以去搜索下看看。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表