✅P145_性能压测-性能监控-jvisualvm使用

gong_yz大约 3 分钟谷粒商城

一、jvisualvm

Jdk 的两个小工具 jconsole、 jvisualvm(升级版的 jconsole);通过命令行启动, 可监控本地和远程应用。 远程应用需要配置。


1.1 jvisualvm 能干什么

监控内存泄露, 跟踪垃圾回收, 执行时内存、 cpu 分析, 线程分析...

  • 运行: 正在运行的
  • 休眠: sleep
  • 等待: wait
  • 驻留: 线程池里面的空闲线程
  • 监视: 阻塞的线程, 正在等待锁

1.2 下载jvisualvm

直接打开:在cmd窗口中输入jvisualvm命令,回车即可,

报错:输入命令提示 jvisualvm不是内部或外部命令,也不是可运行的程序或批处理文件

原因:

  1. 如果你的jconsole可以打开,然而jvisualvm不可以,那是因为有的版本jdk不包含jvisualvm,需要下载;
  2. 另一种情况是环境变量有没有配AVA_HOME为个人的JDK安装目录,Path是否配置%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

问题解决:

我使用的是open-jdk,并不包含jvisualvm,需要自己手动下载,下载地址:jvisualvm官网下载open in new window

下载后在visualvm_139\visualvm_139\etc目录下的visualvm.conf文件中配置jdk目录,

启动jvisualvm,双击visualvm.exe

1.3 安装Visual GC插件

查看jdk版本号,小版本为151

找到jdk版本对应的Visual GC插件,

本地jdk小版本号151在131-381之间,点击红框地址

复制以下地址

打开jvisualvm界面,选择Tools-Plugins

Settings->Edit

远程下载插件

远程下载不下来,使用导入功能

安装之后需要重启jvisualvm

1.4 使用


二、jconsole

使用

Windows + R,输入框中输入jconsole命令,

选择一个进程,

选择”不安全连接“,压测的时候可以实时的查看堆内存、线程、CPU的使用情况

选择导航栏的“内存”选项,

第一个堆则显示老年代的内存情况,点击第二个显示的是新生代/伊甸园,点击第三个则是幸存区