✅P145_性能压测-性能监控-jvisualvm使用
大约 3 分钟
一、jvisualvm
Jdk 的两个小工具 jconsole、 jvisualvm(升级版的 jconsole);通过命令行启动, 可监控本地和远程应用。 远程应用需要配置。
1.1 jvisualvm 能干什么
监控内存泄露, 跟踪垃圾回收, 执行时内存、 cpu 分析, 线程分析...
- 运行: 正在运行的
- 休眠: sleep
- 等待: wait
- 驻留: 线程池里面的空闲线程
- 监视: 阻塞的线程, 正在等待锁
1.2 下载jvisualvm
直接打开:在cmd窗口中输入jvisualvm
命令,回车即可,
报错:输入命令提示 jvisualvm不是内部或外部命令,也不是可运行的程序或批处理文件
原因:
- 如果你的jconsole可以打开,然而jvisualvm不可以,那是因为有的版本jdk不包含jvisualvm,需要下载;
- 另一种情况是环境变量有没有配AVA_HOME为个人的JDK安装目录,Path是否配置
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
问题解决:
我使用的是open-jdk,并不包含jvisualvm,需要自己手动下载,下载地址:jvisualvm官网下载
下载后在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的使用情况
选择导航栏的“内存”选项,
第一个堆则显示老年代的内存情况,点击第二个显示的是新生代/伊甸园,点击第三个则是幸存区