jvisualvm是jdk8的bin目录下自带的一个分析工具,在我下载的jdk11下没有这个工具,这个工具我们可以用来分析hprof文件

首先我们可以配置对应的参数,配置文件地址在\jdk8\lib\visualvm\etc\visualvm.conf

visualvm_default_options="-J-client -J-Xms1024m -J-Xmx1024m -J-Dsun.jvmstat.perdata.syncWaitMs=10000 -J-Dsun.java2d.noddraw=true -J-Dsun.java2d.d3d=false -J-Dnetbeans.keyring.no.master=true -J-Dplugin.manager.install.global=false -J–add-exports=java.desktop/sun.awt=ALL-UNNAMED -J–add-exports=jdk.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED -J–add-exports=jdk.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED -J–add-exports=java.desktop/sun.swing=ALL-UNNAMED -J–add-exports=jdk.attach/sun.tools.attach=ALL-UNNAMED -J–add-modules=java.activation -J-XX:+IgnoreUnrecognizedVMOptions"

我们改动-Xms和-Xmx即可。

因为我们是分析hprof文件,打开软件后,直接装载文件即可
jvisualvm分析hprof文件
jvisualvm分析hprof文件

装载完毕后,点击错误线程,即可看见当时的信息了,便于分析jvisualvm分析hprof文件

如果这里分析不出来,我们可以跳到第二个菜单栏 - 类jvisualvm分析hprof文件

可以看到,byte占用的大小达到了95%jvisualvm分析hprof文件

我们可以双击Byte[]进去,看具体是哪些字段占用了值jvisualvm分析hprof文件
点击下三角,可以进行倒序排列,一般占用大的byte[]都会在下面,所以我们直接倒序排列,然后点击最后几个看即可。jvisualvm分析hprof文件
这里我们点击加号,或者后面的值,都可以显示Byte数组里具体存的什么信息,帮助我们分析啦。

相关文章:

  • 2022-01-25
  • 2021-08-27
  • 2021-04-18
  • 2021-08-03
  • 2021-11-14
  • 2021-04-25
  • 2022-12-23
猜你喜欢
  • 2021-12-05
  • 2021-11-14
  • 2022-12-23
  • 2022-01-03
  • 2022-12-23
  • 2021-07-27
相关资源
相似解决方案