问题标签 [memoryanalyzer]

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 投票
2 回答
4730 浏览

java - 在带有 J2SE 6.0 的 Mac OS 上启动 Eclipse MAT 时,JVM 终止

我最近发现了非常有用的Eclipse 内存分析工具,它可以快速查找 Java 应用程序中的内存泄漏。不幸的是,在将我的 JDK 切换到 1.6(在 Mac OS 10.5 下)之后,JVM 在启动时立即终止。出现的只是一个对话框,用“退出代码 = -1”声明“JVM 已终止”。

还有人遇到这个吗?也许有一种方法可以将其配置为使用不同的 JDK?(例如 1.5:它被证明是兼容的)

0 投票
1 回答
1184 浏览

windows - 什么是适用于 Windows 的好的开源调试器和内存分析器?

在 Unix 世界中,我一直很乐意使用gdb进行调试,使用valgrind进行内存分析。

是否有适用于 Windows 的开源质量替代品?

我正在寻找轻量级的软件,它们可以满足您的需求,并且永远不会妨碍您(就像 gdb 和 valgrind 一样)。

0 投票
3 回答
44029 浏览

android - Android ==> 内存分析 ==> Eclipse 内存分析器?

我需要检查我的应用程序是否存在内存泄漏,我还需要查看我的应用程序的内存分配。我下载并安装了eclipse内存分析器,看起来第一步是打开一个堆转储。但是什么是堆转储,我如何创建堆转储。以及我将如何使用这个软件,我做了一些谷歌搜索,但我找不到任何有用的信息谢谢

0 投票
3 回答
4522 浏览

android - 可能使用 ActivityGroup 的 Android 内存使用问题

可能使用 ActivityGroup 的 Android 内存使用问题

这是一个有点长的故事,我最终搞砸了记忆问题。我通过使用大量的活动和框架开发了非常深入的 android 应用程序。首先,我不得不说我使用 ActivityGroups 作为主要类别来轻松处理活动。我可以通过getLocalActivityManager(). 我收到此错误消息:

那么我的应用程序将崩溃并出现各种异常,例如;

当然我没有2764800字节的 png 图像,但我认为它的解码大小。所以我认为我有图像处理问题,我检查并修复了我的项目的每一个细节,以正确处理图像。我检查了 android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html 中描述的所有内容。我检查了空绘图,我遵循模型可重用性说明,我更改了以下描述的加载方法:stackoverflow.com/questions/477572/android-strange-out-of-memory-issue/823966#823966。

我也有几个位图要从磁盘加载。我由 android xml 布局文件创建的所有布局。我也有很多在 xml 文件中描述的位图。

然后我看到我在内存分析器的应用程序中有很大的静态类。我通过按需加载和使用后释放来释放静态属性。所以最后我在 MAT 中发现了这个内存泄漏嫌疑人;

问题嫌疑人1

由“”加载的“java.lang.Class”的3,043个实例占用了871,304(17.97%)字节。

最大实例:
com.ibm.icu4jni.util.Resources$DefaultTimeZones @ 0x4014c3b0 类 - 166,768 (3.44%) 字节。
类 android.text.Html$HtmlParser @ 0x400fe448 - 126,592 (2.61%) 字节。
类 com.google.googlenav.proto.GmmMessageTypes @ 0x4835d450 - 56,944 (1.17%) 字节。
类 org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool @ 0x47caea20 - 51,872 (1.07%) 字节。
类 org.apache.harmony.security.fortress.Services @ 0x4008c4d0 - 51,456 (1.06%) 字节。

问题嫌疑人2

由“系统类加载器”加载的 8,721 个“java.lang.String”实例占用 549,624 (11.33%) 个字节。关键字 java.lang.String

问题嫌疑人3

由“系统类加载器”加载的 60 个“org.bouncycastle.jce.provider.X509CertificateObject”实例占用 300,024 (10.76%) 个字节。这些实例引用自“java.util.Hashtable$HashtableEntry[]”的一个实例,由“系统类加载器”加载关键字 org.bouncycastle.jce.provider.X509CertificateObject java.util.Hashtable$HashtableEntry[]

这第三个不是每次都发生。通常当我在 GalaxyTab 中使用内存管理器时。

我最大的顶级支配者课程是这些。http://www.matriks.mobi/arge/android/Screen%20shot%202011-02-25%20at%2012.19.08%20PM.png

我只有 2 或 3 项活动进行直播,其余活动暂停。我在组件报告中收到此消息。当然,这不是我只使用 1.5 MB 内存的解释,因为根据内存管理器的说法,我的应用程序使用了 48 MB 的内存,而不是大约 20 MB。

可能的内存浪费 *  重复的字符串* 发现 0 次出现的 char[] 至少有 10 个实例具有相同的内容。总大小为 0 字节。

我认为那不是我想要的 :) hprof 文件位于http://www.matriks.mobi/arge/android/android5706014442078310727.hprof.zip

我猜我对 ActivityGroup 类有问题。至少我将 LocalActivityManager 中的活动和活动 ID 保存在堆栈中。但即使我不创建新的活动,并在加载的活动之间传递,内存也会增加。

我知道这不是搜索泄漏的方式,并且可能我有一个基于代码的问题导致此内存泄漏。但是我应该检查的任何一个想法在这里都会非常受欢迎,因为我有点卡在这里。

0 投票
3 回答
5536 浏览

java - Huge heap dump (11GB) - Jhat failed & Eclipse MAT needed help

We got a memory error in our EA and we used -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/some/dir to dump the heap at the time of OOM.

We had a heap memory of 12GB and perm gen of 256MB.

The heap dump is generated in the Linux box where we have our application running and its size is 11.5GB. We don't have privileges to download it to our local.

When we tried to analyze that 11GB heap dump using JHAT it thrown an OOM.

We tried the following commands from our Linux CLI.

For all the options its throwing an OOM exception after reading the dump for several minutes(>30 mins).

We googled it and found MAT as a powerful heap dump analyzer, but not a way to use it in LINUX.

Any suggestions would be of greater help. Thanks.

Modified:

Got MAT installed in Linux x86_64 machine but got following error when executed ./MemoryAnalyzer

I tried ./ParseHeapDump.sh ../java_pid1491.hprof this and got following error,

0 投票
0 回答
1758 浏览

android - 运行 hprof-conv.exe 时出错

ERROR: read 46402 of 4259932 bytes运行时出现错误,hprof-conv.exe它创建的文件无法使用 MemoryAnalyzer.exe 打开并出现错误Illegal record length 0 at byte 5,408,931 for record type 1

我曾经android.os.Debug.dumpHprofData("/data/misc/dump.hprof");创建转储文件并用于C:\>adb pull /data/misc/dump.hprof从模拟器中获取转储文件。

有谁知道这里有什么问题?它曾经在我重新启动计算机后的前几次工作。

0 投票
1 回答
5558 浏览

volatility - Volatility 无法扫描 Virtualbox 的内存转储

我使用 Virtualbox 管理器进行了 elf 格式的内存转储。

它运作良好。然后我尝试分析具有波动性的转储。

imageinfo 运行良好并得到了结果。

当我尝试使用 pslist 时失败了。

谁能帮忙看看为什么 Volatility 找不到“找到合适的地址空间映射”的问题???

太谢谢了!!

0 投票
8 回答
124089 浏览

java - 如何在 IntelliJ 中分析堆转储?(内存泄漏)

我已经从我的 java 应用程序中生成了一个堆转储,该应用程序已经使用该jmap工具运行了几天 -> 这会导致一个大型二进制堆转储文件。

如何在 IntellIJ IDEA 中执行此堆转储的内存分析?

我知道有适用于 Eclipse 和 Netbeans 的工具,但如果可能的话,我宁愿使用 IDEA。

分析的基本结果将告诉我每个类在内存中每个对象的实例数,以便我能够开始调试内存泄漏。

0 投票
0 回答
84 浏览

android - 是否有在 Android Studio 中搜索内存工具的选项?

令人惊奇的是,内存分析工具集成在 Android Studio 1.3 中 - 但有关内存转储的主要功能之一是能够按类名搜索(查看存在多少活动实例)。Android Studio 中缺少此选项(例如在 MAT 中可用)并使其瘫痪。

有谁知道它是否存在而我错过了它?

是计划好的吗?

0 投票
1 回答
95 浏览

eclipse - 内存分析器和任务管理器之间分配的内存差异

我想分析一个非常庞大的 Java VM 进程的内存使用情况。

我在启动 Eclipse 内存分析工具时意识到的一件事是所谓的分配内存之间存在巨大差异:Windows 任务管理器/CMD 任务列表显示大约 5.5GB,而内存分析器仅显示 1.1GB。造成这种差异的原因是什么?