问题标签 [heap-dump]

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 投票
20 回答
549994 浏览

java - 如何在 Windows 上获取不在控制台中运行的 Java 进程的线程和堆转储

我有一个从控制台运行的 Java 应用程序,该控制台又执行另一个 Java 进程。我想获得该子进程的线程/堆转储。

在 Unix 上,我可以做一个kill -3 <pid>但在 Windows AFAIK 上,获得线程转储的唯一方法是控制台中的 Ctrl-Break。但这只会给我父进程的转储,而不是子进程。

还有另一种方法来获取堆转储吗?

0 投票
5 回答
121126 浏览

java - Websphere中javacore、线程转储和堆转储的区别

有人能告诉我javacore、线程转储和堆转储之间的确切区别吗?在什么情况下使用这些中的每一个?

0 投票
3 回答
9054 浏览

java - VM崩溃后如何禁用创建Java堆转储?

JVM 在具有 18Gb 内存的 FreeBSD 上运行。创建核心文件大约需要一个小时,这非常慢,所以我需要一些方法来禁用它。

0 投票
5 回答
24449 浏览

java - 使用 jconsole 时 Java 转储堆文件的位置?

好吧,这很尴尬......

我开始使用 Eclipse 内存分析器来查找 Windows 机器上的 Java 内存泄漏。第 1 步是获取堆转储文件。为此,我从 Eclipse 中启动我的 Java (javaw.exe) 进程并使用 jconsole 连接到它。然后在 jconsole MBeans 选项卡上单击 dumpHeap 按钮。我第一次这样做时,我看到一个弹出窗口说它已经创建了堆转储文件,但没有给出它的名称或位置。现在,每当我在连接到不同的 javaw.exe 进程时再次执行 dumpHeap 时,jconsole 都会说:

当然也没有给出它的名字或路径。它可能在哪里?

我在我的 C: 驱动器(使用 cygwin 命令行工具)中搜索了包含“hprof”或“java_pid”或“heapdump”的文件,但没有找到任何合理的东西。我什至使用 Windows 搜索来查找我的 Eclipse 工作区中在最后一天发生更改的所有文件。

我使用的是 Sun Java 1.6 JVM,并且没有设置 -XX:HeapDumpPath。

更新(2010 年 4 月 28 日):我的原始堆文件位置必须由我触发堆转储的工具 jconsole 确定。JVM 的堆转储位置必须仅适用于它触发的堆转储(例如,在 OutOfMemoryException 上)。

Matt B 使用 jvisualvm 的建议很好地解决了我的问题,它为我指出了一个更有用的旧 jconsole 替代品。它有一个很好的内存分析器,可以显示哪些类型的对象数量最多并且拥有最多的内存。它有一个监视器,可以显示一段时间内的实际内存使用情况。当您要求它进行堆转储时,它甚至会告诉您文件名!Eclipse Memory Analyzer 为您提供完整的详细信息。

0 投票
7 回答
7801 浏览

java - 可用于调试 Java 应用程序中的生产问题的工具

只是想知道有哪些工具和技术可以调试 Java 应用程序的生产问题。喜欢,

  • 线程转储的方法和工具是什么?
  • 进行堆转储的方法和工具是什么?
  • 分析上述转储的工具有哪些?

(假设都在 Linux/Unix 环境下)

0 投票
3 回答
44029 浏览

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

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

0 投票
3 回答
633 浏览

java - 在堆转储中查找具有相同值的对象

我想减少内存中的对象数量。可能有许多具有相同值的对象。有没有办法找出堆转储中具有相同值的所有对象。

0 投票
3 回答
2347 浏览

java - 无法在 Java 进程上转储堆

我有一个要调试的 java 进程。它的问题是它有太多打开的连接,所以运行 jmap 失败,因为它无法连接到进程。运行 jmap -F 会产生下一个错误:

可能是什么问题?是否可以在不重新启动进程的情况下解决(重新启动后错误可能会消失,所以我想避免它)。

0 投票
4 回答
11555 浏览

eclipse - Eclipse内存分配问题

我正在尝试分析一个 ~800mb 堆转储,它需要比我的 Eclipse 标准更大的堆。但是,当我转到 eclipse.ini 文件并设置一个-Xmx2g(或-Xmx2048m)时,我收到一个错误“无法创建 Java 虚拟机”。

1)是的,我有足够的内存。2)我可以将它完全更改为-Xmx976m。3) 我尝试了独立的 MAT 分析器,它与 -Xmx1024m 一起工作,而不是一个字节。4)不,1gb不足以分析那个堆,我得到一个OOM

这是日食错误: 替代文字

这是 MAT 错误: 替代文字

(我认为它们是相同的,这只是为了让您可以看到 MAT 的示例)

我当前的 eclipse.ini (工作)是:

有人想出这个吗?

谢谢!

F。

0 投票
1 回答
1080 浏览

hibernate - Hibernate:OOM-Exception,IdentityMap 有问题吗?

加载大量对象时,出现 OOM 异常。在使用分析器分析堆后,我发现 org/hibernate/util/IdentityMap 中有很多内存,它引用了包含数千个条目的 LinkedHashMap。这些对象是做什么用的?

我真的很感谢各种信息...

替代文字