Tag: hprof

heapdump size vs hprof size

当我的jboss服务器以4096m的xms和4096m的xmx以及512m的permsize运行时,我最近以hprof格式创建了一个heapdump。 生成的hprof文件超过5GB。 当我在visualvm,mat analyzer或yourkit中加载heapdump时,我只看到大约1gb的总字节数。 我已尝试更改yourkit中的可访问性范围,但它不会显示超过1 GB。 知道文件大小与显示的堆转换大小有什么重大差异会导致什么? ps:我正在使用jdk1.6.0_23 不幸的是我不允许在这里提交截图。 在文件系统上,hprof大小为5.227.659 kb,在yourkit中它指出: 对象:9.738.282 /浅尺寸740 mb /保留大小:740 mb其中可达到的字符串:6.652.515(68%)/浅尺寸:381 mb(51%)/保留大小:381 MB(51%) 保留的最大大小是一个字节[] 206.810.176

我可以随意生成HPROF文件吗?

我有一个可疑的java进程。 我想看看使用各种HPROF分析工具的情况。 如何动态生成一个?

类似HPjmeter的图形工具,用于查看-agentlib:hprof profiling输出

有哪些工具可用于查看内置JVM分析器的输出? 例如,我正在启动我的JVM: -agentlib:hprof=cpu=times,thread=y,cutoff=0,format=a,file=someFile.hprof.txt 这将以hprof(“JAVA PROFILE 1.0.1”)格式生成输出。 过去,我使用HPjmeter以合理的方式查看这些输出文件。 但是,无论出于何种原因,使用当前版本的Sun JVM生成的文件都无法加载到当前版本的HPjmeter中: java.lang.NullPointerException at com.hp.jmeter.f.jb.a(Unknown Source) at com.hp.jmeter.faa(Unknown Source) at com.hp.cajzrun(Unknown Source) Exception in thread “HPeprofDataFileReaderThread” java.lang.AssertionError: null pointer exception from loader at com.hp.jmeter.faa(Unknown Source) at com.hp.cajzrun(Unknown Source) (为什么他们会混淆免费产品的字节码?!) 由此产生两个问题: 有谁知道这个HPjmeter错误的原因? ( 编辑 :是的 – 见下文) 还有哪些其他工具可以读取hprof文件? 为什么Sun没有(有)? 我知道Eclipse TPTP和其他工具可以动态监视JVMTI数据,但我需要一个可以处理生成的hprof文件的解决方案,因为部署的机器只安装了JRE(而不是JDK)。 编辑 :一个非常有帮助的HPjmeter开发人员在HP ITRC论坛上回复了我的问题,表明在-agentlib的错误之前,临时需要将heap=dump包含在-agentlib选项中。 这些信息使HPjmeter再次可行,但我仍然会问这个问题是否有人知道任何其他工具。 编辑 :自HPjmeter 4.0.00版(2009年5月发布)以来,该错误已得到修复。