标签: hprof

hprof文件格式

有人知道.hprof(二进制堆转储)文件格式的参考吗?

有谁知道处理.hprof文件的库?我知道,帽子不说,也VisualVM的通过NetBeans插件。但是还有其他吗?

java hprof

6
推荐指数
2
解决办法
3344
查看次数

使用hprof分析循环的scala

街上的字是scala中的循环比while循环慢.

慢:

for (i <- 0 until 10000) {
  f(i)
}
Run Code Online (Sandbox Code Playgroud)

快速:

var i = 0
while (i < 10000) {
   f(i)
   i += 1
} 
Run Code Online (Sandbox Code Playgroud)

如何使用hprof来判断for循环是否是我代码中的瓶颈?我正在使用的代码进行分析-agentlib:hprof=cpu=samples,该方法在"CPU SAMPLES"部分中会是什么?

我想知道在哪里集中我的优化工作.for循环是瓶颈吗?

optimization scala hprof

6
推荐指数
1
解决办法
467
查看次数

Android Studio中HPROF Viewer中图标的含义

我不时会在Android Studio中使用Memory Monitor和HPROF Viewer来检查是否存在任何内存泄漏和内存使用情况.

我相信我知道查看器中使用的大多数符号和颜色的含义,但我想确定并且不仅仅是对它们有自己的理解.我没有在网上找到任何解释,但我确信我的问题的答案非常简单.

参考文献3中的下列符号是什么意思?

1: 符号#1

2: 符号#2

3: 符号#3

4: 符号#4

5:符号#5

当实例的字体颜色为蓝色,红色,粗体或斜体时,这意味着什么?

有时符号1,2和3可以在同一实例中组合.这是否意味着特别的东西?

6: 符号梳

7: 符号梳

当悬停不同的图标时,我对HPROF Viewer的功能请求是一个工具提示.

android hprof heap-dump android-memory android-studio

6
推荐指数
1
解决办法
539
查看次数

Java分析:java.lang.Object.hashCode占用了一半的CPU时间,但从未明确地调用过

我已经使用了多线程程序的基准测试,-agentlib:hprof=cpu=samples 并且惊讶地发现结果中有以下行:

rank   self  accum   count trace method
   1 52.88% 52.88%    8486 300050 java.lang.Object.hashCode
Run Code Online (Sandbox Code Playgroud)

我从未在程序中显式调用hashCode().这可能是什么原因?我如何理解这次"浪费"的来源以及它是否正常?

谢谢,大卫

java benchmarking profiling hashcode hprof

5
推荐指数
1
解决办法
1035
查看次数

为什么我不能从某些设备获得HPROF转储?

正如许多有用网站所详述的,分析Android应用程序内存使用情况的一种方法是执行"kill -10 [PID]"来触发HPROF转储.这似乎适用于某些设备,logcat通常包含以下内容:

I/dalvikvm(32170): threadid=3: reacting to signal 10
I/dalvikvm(32170): SIGUSR1 forcing GC and HPROF dump
I/dalvikvm(32170): hprof: dumping VM heap to "/data/misc/heap-dump-tm1302633572-pid32170.hprof-hptemp".
I/dalvikvm(32170): hprof: dumping heap strings to "/data/misc/heap-dump-tm1302633572-    pid32170.hprof".
I/dalvikvm(32170): hprof: heap dump completed, temp file removed
Run Code Online (Sandbox Code Playgroud)

但是,在其他设备上,执行"kill -10"会导致:

I/dalvikvm( 5687): threadid=4: reacting to signal 10
I/dalvikvm( 5687): SIGUSR1 forcing GC (no HPROF)
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用的所有设备都是root用户,我确保将chmod/data/misc设置为777.执行"kill -10"后,我没有收到任何错误消息.

如果它有用,这里是我获得HPROF转储的设备:HTC ACE(Desire HD),HTC G1,HTC Nexus One(T-Mobile)

以下是我没有获得HPROF转储的设备:Nexus S,Droid,Droid X,Nexus One(AT&T)

为什么我不能从某些设备获得HPROF转储,是否有什么可以让我获得转储?

android hprof

5
推荐指数
1
解决办法
4072
查看次数

OutOfMemoryError - 如何在创建hprof后终止JVM

我希望我的java在捕获时退出OutOfMemoryError,我正在使用-XX:+HeapDumpOnOutOfMemoryError转储hprof文件.
我无法使用,kill -9 <pid>因为在转储hprof文件时JVM需要启动,有没有办法在hprof创建文件后停止JVM ?

要清楚我正在使用Sun的JVM版本6.

java jvm sun out-of-memory hprof

5
推荐指数
1
解决办法
2138
查看次数

jvisualvm:卡在“正在加载堆转储...”屏幕上

我使用的是 jdk64,我的 java 版本是“1.6.0_24”。我的 tomcat 使用 -Xmx7196m 运行,而 jvisualvm 使用 -J-Xms2048m -J-Xmx3072m 运行。我对我的 tomcat java 进程进行了堆转储,我的.hprof文件大小约为 5.5 GB。当我尝试打开这个堆转储时,它只是停留在Loading Heap Dump...屏幕上。

我还查看了 VisualVM 在尝试打开堆转储时的堆消耗情况,但只有 500MB 左右。

注意:我确实看过jvisualvm: Stuck on “Loading Heap Dump” screen question 但它是不同的并且没有解决我的问题。

java profiling visualvm hprof jvisualvm

5
推荐指数
2
解决办法
6456
查看次数

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

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

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

sudo lsof | grep java | wc -l
Run Code Online (Sandbox Code Playgroud)

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

select x from java.io.FileDescriptor x
Run Code Online (Sandbox Code Playgroud)

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

java file-descriptor hprof heap-dump

5
推荐指数
0
解决办法
1004
查看次数

如何打开/查找使用Android Studio 2.1.3创建的"hprof"转储文件?

我是Android开发的新手.我想分析我的应用程序使用内存的方式.我正在使用Android Studio 2.1.3开发我的应用程序.

我正在使用Android Monitor观察内存消息,我正在尝试创建一个"hprof"文件.我点击内存监视器中的"Dump Java Heap"按钮,但没有任何反应.

在以下链接中,官方文档指出HPROF Viewer会在创建hprof文件后自动显示. 官方文档截图

官方文档还指出转储文件存储在Heap Snapshot文件夹中,以便以后查看.

我找不到存储转储文件的文件夹.

我甚至在我的所有硬盘上搜索了带有"hprof"扩展名的文件,什么都没发现.

你能帮我找到转储文件并打开它吗?

android hprof android-studio-2.1

5
推荐指数
1
解决办法
2755
查看次数

错误:需要 HPROF 文件格式 1.0.3

我将堆转储导出为 HPROF,并根据docs使用.hprof后缀保存它。当我运行hprof-conv命令时,出现错误:

错误:需要 HPROF 文件格式 1.0.3

结果我得到了大小为0的converted-heap.hprof文件。并且Eclipse Memory Analyzer无法打开它。

附加信息:

  • 这里有类似的问题,但转换错误仍然没有解决。

  • 如果重要的话,我使用新的Android Studio 3及其Android Profiler来导出堆转储。

在此输入图像描述

heap-memory hprof android-studio

5
推荐指数
1
解决办法
701
查看次数