问题标签 [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 投票
1 回答
1470 浏览

jvm - Java 1.4.1 上的堆转储

无论如何,我可以在 Solaris 9 上使用 java 1.4.1 进行堆转储吗?

我正在使用一个非常旧的应用程序服务器和 java 版本,并且想进行堆转储。我将在生产中使用它,所以 hprof 可能不是一个选择。有什么工具可以安装吗?

谢谢

0 投票
1 回答
528 浏览

gwt - 请求生成器的 GWT 内存泄漏链接(由 GWTP 操作服务器调用生成)

在 GWT 版本中找到:

GWT - 2.4.0

在操作系统/浏览器上遇到:

带有 IE9 的 Windows 7

详细说明(请尽可能具体):

离开 GWT App 运行过夜后发生 Out Of Heap 异常,使用 MemoryAnalyzer 进行诊断,发现崩溃时有 160 万个 com.google.gwt.http.client.RequestBuilder 实例,每个大小正好为 1208 字节。

进一步检查向我显示这些请求是对服务器的 GWT Action 调用以轮询当前服务器的健康状态。com.google.gwt.user.client.Timer 每 1 秒轮询一次触发器

演示问题的最短代码段:

这是堆报告:

http://i.stack.imgur.com/C2qJy.png

  • 感谢 10 名誉到发布图像规则
0 投票
1 回答
1280 浏览

java - 未生成堆转储

我已经添加-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="C:\hd.hprof"到默认 VM 参数,但我不知道为什么OutOfMemoryError抛出时没有生成堆转储文件。谁能阻止我?

更多细节:

  • 我的 JRE 版本是 1.7.0_02

  • 堆转储第一次生成一次,但是当我更改 HeapDumpPath 时,它不再生成。已将 HeapDumpPath 恢复为与第一次相同,但仍未生成堆转储

  • 文件C:\hd.hprof已存在。

  • 下图是我强制关闭 Eclipse 时的 Eclipse 对话框。在那个对话框中,我可以看到 eclipse 包含了我的参数 ]![下图是我强制关闭 eclipse 时的 eclipse 对话框。在那个对话框中,我可以看到 eclipse 包含了我的论点

在此处输入图像描述

谢谢。

0 投票
2 回答
3520 浏览

java - 以编程方式分析java堆转储文件

我想编写一个程序(最好在java中),它将解析和分析java堆转储文件(由jmap创建)。我知道有很多很棒的工具已经这样做了(jhat、eclipse 的 MAT 等等),但我想从特定的角度分析堆到我的应用程序。

我在哪里可以阅读有关堆转储文件的结构、如何阅读它的示例等信息?没有找到任何有用的搜索它...

非常感谢。

0 投票
2 回答
268 浏览

ant - 没有 ant java 任务的可运行 jar 文件 - 这怎么可能?

我从以前的开发人员那里继承了一些代码,这些代码使用 Ant 构建到一个可执行的 jar 文件中,该文件通过双击运行。应用程序运行,但在某些情况下崩溃并出现 OutOfMemoryError。为了对此进行调查,我想将 -XX:+HeapDumpOnOutOfMemory jvm arg 添加到 Ant 构建文件中,据我了解,该<jvmarg value="-XX:+HeapDumpOnOutOfMemory" />元素需要执行一项<java ...>任务。但是,<java ...>在此代码库中的此或任何其他 Ant 构建文件中找不到任务。

这怎么可能?jar文件如何在没有<java ...>任务的情况下可执行?

我主要要求找出实际上使我的 jar 文件可执行的原因,以便我可以找出将该<jvmarg />元素放在哪里来调试 OOME。

谢谢!

0 投票
1 回答
2157 浏览

java - jstack 无法创建线程转储 - 线程 745:(状态 = BLOCKED)堆栈行走期间发生错误)

当我们在 Linux 上使用 $JAVA_HOME/bin/jstack 为 JBoss 4.2.3.GA 生成线程转储时......我们得到这个错误:

任何想法为什么会发生这种情况?我想也许有人在同时运行堆转储。还有其他想法吗?

0 投票
2 回答
295 浏览

java - Java 堆转储中的统计信息细分是什么

鉴于此堆转储

我的应用程序中只有 1 节课,ph.com.my.class.Person. 类定义如下:

在堆转储中,是否Person size (11789056)包括 2 个字符串变量占用的内存?或者将f_nameandl_name计入String班级,在这种情况下大小为 57412368?

更新 - 添加了后续问题:

所以让我们说每个实例:

  1. f_name 大小为 30
  2. l_name 大小为 20
  3. 人的大小是75

如果有10个Person实例,就会有

  1. 10 * (30+20) = 500
  2. 10 * 75 = 750

500 将计入 String 或 char[] 吗?随后,750 人是否会被计算在内?

0 投票
1 回答
641 浏览

java - java中的这个文件是什么?core.26416,堆转储还是线程转储?

core.26416,这个文件在java中是什么?哪个工具可以分析它?java 线程转储、堆转储和核心的扩展是什么?线程转储/堆转储和核心转储有什么区别?

0 投票
5 回答
146097 浏览

java - 如何永久增加java堆内存?

java堆内存有一个问题。我在 java 中开发了一个客户端服务器应用程序,它作为 Windows 服务运行,它需要超过 512MB 的内存。我有 2GB 的 RAM,但是当我运行我的应用程序时,它会引发异常

内存不足错误:java堆空间

但我已经在 java 控制面板中设置了堆大小(最大 512MB),我仍然得到同样的错误。我无法通过命令行设置堆大小,因为我的应用程序作为 Windows 服务运行,那么如何增加默认堆大小?

0 投票
1 回答
1196 浏览

android - 在 listView 中滚动时的堆大小

在列表视图中滚动列表视图堆大小不断增加,在 Galaxy S3 设备上达到 64MB,应用程序崩溃。

}

上面的代码是使用列表适配器。我正在使用以下库来显示图像 android-http-image-manager

有人能告诉我为什么位图没有被回收吗?滚动列表视图时堆不断增加,达到 64MB。请提供一个简短的解决方案。