我已经下载了 Eclipse MAT并尝试在 Windows 上启动它。 执行MemoryAnalyzer.exe显示一个弹出窗口Incompatible JVM并显示以下消息: JVM 的版本 1.8.0_242 不适合此产品。 版本:需要 11 或更高版本。 如本文档中所述,我创建了一个jre ...
我已经下载了 Eclipse MAT并尝试在 Windows 上启动它。 执行MemoryAnalyzer.exe显示一个弹出窗口Incompatible JVM并显示以下消息: JVM 的版本 1.8.0_242 不适合此产品。 版本:需要 11 或更高版本。 如本文档中所述,我创建了一个jre ...
我正在使用 Intellij 分析器(异步分析器)在 Spring 启动 Java 应用程序中运行测试。 我使用分析器来调查可能的 memory 泄漏,测试会暴露出来。 当我分析转储时(图像取自 Eclipse MAT),我看到 memory 的大部分由以下人员拍摄: org.gradle.int ...
我正在使用 MAT 分析我的堆并查看一些有用的报告。 例如,此报告列出了空 collections 中可能的 memory 废物。 MAT 版本:1.11.0 正如您从屏幕截图中看到的那样,报告中的每个项目仅列出所有对象的前 10 个。 如果我点击“前 10 个...对象”,期望看到更多对象,实 ...
在大多数关于由终结器 object 引起的 memory 泄漏的研究中,无论是在我们的代码中还是在依赖库中,都应该重写 finalize 方法。 但在我的整个项目中,它无处使用。 (我使用的是Java8) 我面临一个 memory 问题,对于我的服务,一旦我重新启动服务,可用的 memory 开 ...
我正在尝试将 Java memory 分析添加到我的 devops 管道中。 为此,我正在使用 Eclipse MAT 命令行脚本。 一旦我提供 hprof 文件作为输入,它就会生成可疑报告。 我需要解析这份 HTML 报告并据此做出决定。 这很麻烦,而且解析也不是结构化的。 我想要 XML/JS ...
我在元空间中出现内存不足。 正如我在谷歌搜索后理解的那样,元空间中的内存不足错误可能是由于 Classloader 中的泄漏。 因此,为此我开始分析 Eclipse MAT 中的堆转储并打开“类加载器资源管理器”,它给出以下内容: 正如我从上述数据中了解到的那样,com.newrelic.boot ...
我在 Java 的生产中经常遇到一些完整的 GC 问题,我怀疑 memory 是由网络库分配的,用于缓冲 TCP 请求结果。 当 memory 使用率很高(大约 8GB)时,我已经转储了 Java 堆。 我尝试用eclipse MAT分析.HPROF文件,文件大约8GB。 但是在 eclipse M ...
我试图在我们的应用程序中识别泄漏的 JDBC。 我获得了一个堆转储,它向我展示了使用中的计数 但是我怎样才能找到阻止连接的应用程序 class 的堆栈跟踪? ...
使用 Eclipse MAT 1.9.1 OQL 我想列出某个 package 中堆转储中的所有类。 我正在尝试查询: 得到: java.lang.NullPointerException: idx at org.eclipse.mat.parser.internal.oql.compiler. ...
我将 Liferay 6.1.2 CE 应用程序部署到 Jboss EAP 6.4 我正在尝试在服务器因 OOM 崩溃后使用 Eclipse MAT 分析堆转储。 在支配树中,我看到几个线程占用了很多 memory。 我的问题 parkBlocker 和其他 Treads 属性是什么意思? ...
我正在尝试调试 2GB 且似乎仅包含空值的大字节 object。 使用 Eclipse MAT 时,我找不到任何 GC 根。 JVM 在 websphere 中运行 IBM J9。 任何想法为什么 Eclipse MAT 没有显示任何 GC 根,无论是硬还是弱? GC 的路径显示为 objec ...
通常,我使用 Eclipse MAT GUI 在堆转储上运行OQL以提取数据。 我只是想知道是否有任何方法可以使用 ParseHeapDump 实用程序运行任何 OQL? 基本上,我想超越这四个标准报告并运行我自己的 OQL 来找出原因。 ...
我知道我们可以通过 MAT UI 获取线程详细信息和更多信息,但是有没有一种方法可以将这些堆栈(类似于线程转储)重定向到输出或运行任何 OQL 查询以获取相同的信息? 我们有相当大的 HeapDump(大约 16G),它显示了大约 500 个活动线程,并且遍历每个 via UI 是一个乏味的过程。 ...
我在一个AWS盒子上运行Tomcat 8.5.9,部署了10个不同的WebSocket应用程序,每个应用程序基本上都充当了消息代理。 https连接器正在使用Http11NioProtocol。 我设置的唯一参数是maxThreads = 200以及证书信息。 请求量不是很高。 它从 ...
我有一个Android活动,需要在应用程序的生命周期中保留在内存中(不要问为什么)。 本活动的后台占用约12MB的内存。 当不查看此活动时,我想释放此内存空间。 我尝试添加以下代码 但这导致仍分配内存空间。 下面的树是通过MAT检索的,正如您所看到的,没有直接引用我的应用程序本身 ...
由于最近发生的一些缓慢情况,我一直在分析堆转储。 事实证明,有两个1.5GB字节数组存放在该数组中,我无法追踪它们的来源。 Eclipse的MAT并没有向我展示包含这么大块内容的课程。 它只是说“ <系统类加载器>”。 也许我找的地方不对。 是什么原因导致这两个大 ...
我在我的一个Java应用程序中遇到了java.lang.OutOfMemoryError。 我在Eclipse的“ VM参数”下增加了最小和最大堆大小的大小: -XX:+ HeapDumpOnOutOfMemoryError -Xmx8g -Xms2g但是,我仍然遇到相同的错误。 ...
我正在尝试使用 Eclipse MAT 分析内存泄漏。 我已经知道这个问题是由本质上是一个链表的对象引起的,例如这样的: 问题是它非常深(大约 40,000 个元素),而且它也不是标准的LinkedList ,因此此处不提供 MAT 对此的支持。 有了第一个元素,我试图到达列表的底部,但我找不 ...
我的jmap命令是sudo -u flume /usr/java/jdk1.8.0_60/bin/jmap -F -dump:format=b,file=heap.hprof pid ,但是eclips mat无法打开转储文件,并抛出一个例外。 这是我的环境。 但是jhat可以正 ...
我的代码中有一个泄漏,并且我正在使用出色的Eclipse Memory Analyzer工具查看内存转储。 使用Thread_Overview,我可以看到线程太多。 但是,只有少数几个显示堆栈。 它们的大部分(可能是我的泄漏)显示为2(已阻止)状态,但没有堆栈。 知道转储中没有堆 ...