【性能测试】:JVM内存监控策略的方法,以及监控结果说明

时间:2022-03-22 23:37:40

JVM内存监控主要在稳定性压测期间,监控应用服务器内存泄露等问题;

  • 【JVM远程监控设置】

1、打开WAS控制台:https://ip:port/ibm/console/login.do

2、进入路径:应用程序服务器 > Server_Name > 进程定义> Java 虚拟机

3、在通用JVM参数中开启远程访问,并设置远程访问端口为1099

-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=1099

4、重启应用

JDK1.6开始自带的VisualVM就是不错的监控工具。

这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

远程访问JVM

1、右键点击【远程】,选择添加远程主机

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

2、输入远程主机名,此处输入远程主机的IP地址后,点击确定。

3、右键IP地址,点击添加JMI连接

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

4、输入监控端口,本次设置开启的端口为1099,亦可设置其它不被占用的端口。

5、双击ip:port后,即可打开JVM的整体监控页面

JVM监控

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

可查看堆空间大小分配(年轻代、年老代、持久代分配)

提供即时的垃圾回收功能

垃圾监控(长时间监控回收情况)

  • 【ThreadDump分析】

1,抓取Thread Dump

方法1:右键 ip:port后,选择【线程Dump】

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

方法2:在线程tab页中,右上角有个线程Dump按钮

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

2,分析Thread Dump

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

locked表示该线程锁住了该锁

【性能测试】:JVM内存监控策略的方法,以及监控结果说明

图中的0X10032710和0X10032718互相等待,互相锁死