问题标签 [hprof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1071 浏览

java - 如何检查堆转储 hprof 文件中的文件描述符泄漏

我有一个应用服务器的堆转储 (hprof) 实例。如何使用 visualvm 或任何其他工具检查泄漏的文件描述符?

我确实通过运行检查了正在使用的文件描述符

当我运行以下 OOQL 时,我得到一个 FileDescriptors 列表

但是如何使用堆转储分析来查找滥用类?

0 投票
0 回答
152 浏览

java - Hadoop hprof 输出只有标头

我正在尝试分析在 Azure HDInsight (HDP 2.2) 上运行的 MapReduce 作业。我真正想要的是单个reduce任务的配置文件(尽管多个会更好)。

以下是我当前使用的配置设置:

首先,似乎在过去的hadoop版本中,作业客户端用于将配置文件输出文件复制回提交作业的位置,但现在情况已不再如此。我必须去任务节点并找到它们(因此将它们放在更容易找到的目录中的原因)。不确定这是否是一个错误。

但问题是输出文件只有配置文件头。这是一堆关于 hprof 是什么以及文件包含什么的信息,然后没有内容。当我使用相同的配置文件参数在本地运行一个简单的 java 程序时,我确实得到了实际内容。

纱线容器环境是否有异常可能会阻止 hprof 写入其输出?也许任务 jvm 奇怪地退出了?有什么办法可以改变吗?

0 投票
0 回答
132 浏览

android - 跟踪android中的内存泄漏

我正在尝试跟踪我的应用程序中的内存泄漏。我有一个Activity可以在 7 秒之间切换Fragment的。我正在实例化Fragments 中的ActivitysonCreate()并在它们之间切换时使用相同的实例。

我正在使用Picasso加载Fragments 中的任何图像。当我在 s 之间切换Fragment时,内存分配不断增加,甚至在完成 s 时,Activity内存也没有被释放。

我已经使用 MAT 来分析堆转储,似乎是Bitmaps 没有被释放。

我知道我在Activity包含Fragments 的内容中有泄漏,但由于即使在退出 s 之后内存也没有被释放Activity,我想我也在坚持Activity

由于我无法以一种有益的方式使用 MAT 来识别泄漏(也没有弄清楚我在哪里坚持Activity),如果有人可以帮助我,我将不胜感激。

0 投票
1 回答
283 浏览

java - java hprof直方图的解读

hprof,直方图按类显示对象的数量。

这是在 jvm 生命周期内分配的对象总数吗?

或者这是当前堆上的对象数量?

或者这是堆上当前可访问对象的数量?

0 投票
0 回答
810 浏览

java - 将 .txt 转换为 .hprof

我有一个 .txt,其中包含我需要分析的 HPROF 的所有信息,问题是当使用例如 Memory Analyzer 或任何其他具有相同用途的工具打开它时,我收到以下错误:

无效的 HPROF 文件头。(java.io.IOException) 无效的 HPROF 文件头。

有什么方法可以将此 txt 转换为有效的 HPROF 以分析任何内存泄漏?

提前感谢您提供的任何帮助。

0 投票
1 回答
461 浏览

java - “无法获取 sun/java2d/Disposer 的类数据”

我过去成功使用过一个脚本,JDK 没有改变,但由于某种原因,在这种情况下,我无法将核心转储转换为 hprof;

部分堆不会使用 visualvm 加载。

什么可能导致这种情况?这是一个已知的错误?有解决方法吗?

0 投票
1 回答
642 浏览

java - Android 堆转储转换为 J2SE:hprof-conv:找不到命令

按照Patrick Dubroy指南,我尝试将堆转储转换为 J2SE HPROF,但无法执行hprof-conv. 这很奇怪,因为它位于文件夹中。

在此处输入图像描述

如何解决这个问题?

0 投票
1 回答
479 浏览

android - 我无法在 Lollipop 上将 Android HPROF 转换为标准 HPROF

我的测试设备版本是 5.0.1 (Lollipop)。

我在 Android Studio 1.3 中获得了 Android 堆转储文件。

但是我看到了错误信息。

安卓错误信息

所以我尝试在 DDMS 中获取转储文件(示例文件名:android.hprof)。

然后我尝试将 Android HPROF 转换为标准 HPROF 文件。

然后hprof-conv返回消息是ERROR: read 40070 of 65559 bytes

来人帮帮我。

0 投票
2 回答
1544 浏览

java - hprof(堆转储大小)远小于分配的堆

我一直在分析 java.lang.OutOfMemoryError: Java heap space for our service 并尝试通过 Eclipse MAT 工具挖掘堆转储。

我们的服务使用 8G 堆运行,生成的堆转储大小仅为 500 MB。

以下是 JVM 命令行标志: -XX:-DoEscapeAnalysis -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/tmp -XX:InitialHeapSize=8589934592 -XX:MaxGCPauseMillis=10 -XX:MaxHeapSize=8589934592 -XX:NewSize=4294967296 -XX:OnOutOfMemoryError=/bin/kill -9 %p -XX:+PrintClassHistogram -XX:-PrintCommandLineFlags -XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintTenuringDistribution -XX:SurvivorRatio=8 - XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC

堆转储大小:-rw-------- 1 taxadm amazon 557201181 Sep 16 15:10 java_pid4026.hprof

这是正确的堆转储吗?因为我们的服务极不可能尝试分配 7.5 GB 数组?

谢谢你的帮助

0 投票
1 回答
1998 浏览

android - Android Studio 堆快照分析器 - “支配大小”代表什么?

在 Android Studio 中转储堆并查看创建的快照后,有一个名为“支配大小”的字段。它代表什么? 在此处输入图像描述