使用 java visualvm 以及 idea 进行一次 jvm 调优

一,找到 jdk 路径下的 jvisualvm.exe

使用 java visualvm 以及 idea 进行一次 jvm 调优_第1张图片

1) VisualVM 可以安装各种插件 

使用 java visualvm 以及 idea 进行一次 jvm 调优_第2张图片

2)其中这几个比较常用:监控,线程,Visual GC

使用 java visualvm 以及 idea 进行一次 jvm 调优_第3张图片

3) Visual GC 可以清楚的看到,老年代,新生代的内存变化,以及 GC 频率时间等。很实用的插件。 使用 java visualvm 以及 idea 进行一次 jvm 调优_第4张图片

 

二,启动测试程序,进行测试查看  参考博文 

1)通过观察老年代 GC 情况,对比发现哪里出现问题,进行堆 dump

使用 java visualvm 以及 idea 进行一次 jvm 调优_第5张图片

 

 

2)间隔执行 dump

使用 java visualvm 以及 idea 进行一次 jvm 调优_第6张图片 

使用 java visualvm 以及 idea 进行一次 jvm 调优_第7张图片 使用 java visualvm 以及 idea 进行一次 jvm 调优_第8张图片

3)通过观察存储差异,定位到类,如果突然增多,那么该对象可能存在内存泄露。

双击实例,就可以看到引用情况:

使用 java visualvm 以及 idea 进行一次 jvm 调优_第9张图片

 

附加:内存泄露是什么?

JVisualVM 远程监控 Tomcat

     1、修改远程tomcat的catalina.sh配置文件,在其中增加:

  1. JAVA_OPTS="$JAVA_OPTS

  2. -Djava.rmi.server.hostname=192.168.122.128

  3. -Dcom.sun.management.jmxremote.port=18999

  4. -Dcom.sun.management.jmxremote.ssl=false

  5. -Dcom.sun.management.jmxremote.authenticate=false

      这次配置先不走权限校验。只是打开jmx端口。

      2、打开jvisualvm,右键远程,选择添加远程主机:

          使用 java visualvm 以及 idea 进行一次 jvm 调优_第10张图片

      3、输入主机的名称,直接写ip,如下:

          

        右键新建的主机,选择添加JMX连接,输入在tomcat中配置的端口即可。

      4、双击打开。完毕!

 

你可能感兴趣的:(JVM)