如何让 "jvisualvm Threads Inspector" 工作?

How to get "jvisualvm Threads Inspector" working?

jvisualvm 1.8.0_60 线程检查器 1.0.1 已安装并激活 但是当我打开一个 .hprof 文件时,摘要选项卡的 "Threads at the heap dump" 部分没有堆栈,只有一个线程名称列表。没有任何关于 out 或 err 的报告。

/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/jvisualvm --modules --list | grep -i thread
com.sun.tools.visualvm.threaddump                 1.0     Enabled  
com.sun.tools.visualvm.modules.threadinspect      1.0.1   Enabled  

我确定这曾经在 jdk1.7 中工作,但我需要它在 jdk1.8 中工作。

我尝试了 "eclipse Memory Analyzer" 但它出错了

An internal error occurred during: "Parsing heap dump from 'fail.hprof'".
java.lang.NullPointerException

文件是通过

获得的
jmap -F -dump:format=b,file=fail.hprof 1234

有人能够重现此问题或知道解决方法吗?

"Threads Inspector" 只有在没有 -F 标志的情况下才能工作。 事实上,大多数快照检查器根本无法使用 -F 标志;

  • 你的工具包
  • jprofiler
  • eclipse 内存分析器

有些会部分工作;

  • jhat
  • jvisualvm