java评测:查看二进制hprof cpu采样转储
是否有任何方法可以查看使用JRE内置hprof代理的java评测:查看二进制hprof cpu采样转储,java,performance,profiling,profiler,hprof,Java,Performance,Profiling,Profiler,Hprof,是否有任何方法可以查看使用JRE内置hprof代理的hprof=cpu=samples,format=b参数装箱的javahprof
hprof=cpu=samples,format=b
参数装箱的javahprof
转储文件
以下工具不支持查看hprof cpu采样数据:
- 视觉的
- 你的装备
- 杰克罗菲勒
- 月食垫
一些谷歌搜索发现了两种工具,它们似乎可以分析由hprofCPU=samples
选项生成的CPU分析数据(我没有尝试过任何一种):
- PerfAnal:请参阅和,它似乎来自项目页面。不过,它看起来很旧,所以希望你能幸运地使用它
- HP提供的一种工具,名为HPjmeter。的所有者提到成功地使用它来分析此类分析信息。该工具的用户手册说它支持代理输出的二进制格式
请记住,在所有情况下,hprof代理都是实验性的(讨论了它的不精确性),甚至在Java9中它都会被完全删除。如果可能的话,最好在运行时使用您提到的工具来分析应用程序。JVM附带Visual VM。我想你会喜欢它的视觉特性。@duffymo visual VM不显示加载(外部创建)hprof的cpu样本信息。它只支持/显示hprof堆转储信息。我知道这两者。然而,HPjmeter似乎不再是免费的(好吧,这不是问题所要求的),正如您已经提到的,PerfAnal似乎非常古老(并且只有源代码可用)。我希望市场上有新东西(可能是免费的)。但无论如何,感谢您指出在Java9中删除hprof代理,这是我不知道的。顺便说一句,我不想使用hprof代理-我正在搜索一个可以显示由我自己的工具创建的hprof文件的工具。@MRalwasser如果您的工具的二进制格式与JVM代理生成的一致,分析器应该能够查看它们。了解hprof的原始开发人员打算如何处理CPU采样的二进制格式很有意思。目前似乎没有一个JDK工具能够以hprof格式生成等效的CPU采样转储,所以看起来这种二进制格式是实验性的,从未正式过。顺便说一句,我投票决定重新回答这个问题,以防Sun/Oracle开发人员能够奇迹般地回答这个问题:)