Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分析脱机Java堆转储(.hprof)的工具或技巧_Java_Visualvm_Heap Dump - Fatal编程技术网

分析脱机Java堆转储(.hprof)的工具或技巧

分析脱机Java堆转储(.hprof)的工具或技巧,java,visualvm,heap-dump,Java,Visualvm,Heap Dump,是否有任何工具允许对.hprof文件进行脱机分析(包括摘要/排序/筛选)?或者您可以在批处理模式下运行VisualVM、hat等吗 我感兴趣的是一些可以接受输入.hprof文件、处理它并生成报告的东西 我假设您需要传入一系列选项来配置报告,因此如果您知道任何有用的提示,请加入 最好是可以编写脚本的,这样我就可以一次运行一个包。你能使用jmap-histo吗?您希望提取哪种类型的报告?满足您的所有需求。难以击败。它需要钱,但每一分钱都是值得的。(http://www.eclipse.org/mat

是否有任何工具允许对.hprof文件进行脱机分析(包括摘要/排序/筛选)?或者您可以在批处理模式下运行VisualVM、hat等吗

我感兴趣的是一些可以接受输入.hprof文件、处理它并生成报告的东西

我假设您需要传入一系列选项来配置报告,因此如果您知道任何有用的提示,请加入


最好是可以编写脚本的,这样我就可以一次运行一个包。

你能使用jmap-histo吗?您希望提取哪种类型的报告?

满足您的所有需求。

难以击败。它需要钱,但每一分钱都是值得的。

(http://www.eclipse.org/mat/)这是一条路要走。Check,尤其是JDK6附带了jhat,它可以解析并创建html报告

您可以使用解析/导航
.hprof
文件的内存转储

$ jhat heapdump.hprof
Reading from heapdump.hprof...

Started HTTP server on port 7000
Server is ready.

该工具随JDK一起提供

此外,如果使用IntelliJ IDEA,也可以打开*.hprof内存快照:运行|打开探查器快照|打开


官方文档:

jmap-histo不适用于.hprof文件;它需要一个基本上可以帮助识别内存泄漏的PID。顺便说一下,我会说‘最大的对象’——浅的和深的。你能添加命令行开关说“crunch this.hprof offline”吗?在这个常见问题解答中查找ParseHeapDump.sh(.bat on Windows):但是你能“批处理”运行堆转储分析吗,即通过脚本生成报告而不是等待…等待…等待…等待…在加载和搅动时…?通过“offline”是指“headless”吗?我认为“offline”的意思是“在运行的JVM实例的上下文之外”。