首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >巨大的堆转储(11 MAT )- Jhat失败& Eclipse MAT需要帮助

巨大的堆转储(11 MAT )- Jhat失败& Eclipse MAT需要帮助
EN

Stack Overflow用户
提问于 2011-05-17 06:15:12
回答 3查看 5.7K关注 0票数 2

我们的EA中有一个内存错误,我们使用-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/some/dir在OOM时转储堆。

我们的堆内存为12 We,perm代为256 We。

堆转储是在运行应用程序的Linux框中生成的,其大小为11.5GB。我们没有把它下载到本地的特权。

当我们试图使用杰特分析11 an堆转储时,它会抛出一个OOM。

我们尝试了来自Linux的以下命令。

代码语言:javascript
复制
jhat java_pid1491.hprof
jhat -J-Xmx16g -XX:-UseBiasedLocking java_pid1491.hprof
jhat -J-d64 -J-Xmx16g -J-XX:-UseBiasedLocking java_pid1491.hprof#1

对于所有选项,它在读取转储数分钟(>30分钟)后抛出OOM异常。

我们搜索了它,发现垫子是一个功能强大的堆转储分析器,但不是在LINUX中使用它的一种方法。

任何建议都会有更大的帮助。谢谢。

改性:

安装在Linux x86_64机器上,但在执行./MemoryAnalyzer时出现了以下错误

代码语言:javascript
复制
(.:17319): GLib-GObject-WARNING **: invalid (NULL) pointer instance
(.:17319): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(.:17319): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(.:17319): GLib-GObject-CRITICAL **: g_object_get: assertion `G_IS_OBJECT (object)' failed
(.:17319): Gtk-WARNING **: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
(.:17319): Gdk-CRITICAL **: gdk_pango_context_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(.:17319): Pango-CRITICAL **: pango_context_set_font_description: assertion `context != NULL' failed
(.:17319): Pango-CRITICAL **: pango_context_set_base_dir: assertion `context != NULL' failed
(.:17319): Pango-CRITICAL **: pango_context_set_language: assertion `context != NULL' failed
(.:17319): Pango-CRITICAL **: pango_layout_new: assertion `context != NULL' failed
(.:17319): Pango-CRITICAL **: pango_layout_set_text: assertion `layout != NULL' failed
(.:17319): Pango-CRITICAL **: pango_layout_set_attributes: assertion `layout != NULL' failed
(.:17319): Pango-CRITICAL **: pango_layout_set_alignment: assertion `layout != NULL' failed
(.:17319): Pango-CRITICAL **: pango_layout_set_ellipsize: assertion `PANGO_IS_LAYOUT (layout)' failed
(.:17319): Pango-CRITICAL **: pango_layout_set_single_paragraph_mode: assertion `PANGO_IS_LAYOUT (layout)' failed
(.:17319): Pango-CRITICAL **: pango_layout_set_width: assertion `layout != NULL' failed
(.:17319): Pango-CRITICAL **: pango_layout_get_extents: assertion `layout != NULL' failed
(.:17319): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(.:17319): Gtk-CRITICAL **: gtk_settings_get_for_screen: assertion `GDK_IS_SCREEN (screen)' failed
(.:17319): Gtk-CRITICAL **: gtk_icon_size_lookup_for_settings: assertion `GTK_IS_SETTINGS (settings)' failed
(.:17319): Gtk-WARNING **: Invalid icon size 6
(.:17319): Gtk-CRITICAL **: gtk_icon_theme_load_icon: assertion `GTK_IS_ICON_THEME (icon_theme)' failed
Segmentation fault

我试过./ParseHeapDump.sh ../java_pid1491.hprof这个,得到了以下错误,

代码语言:javascript
复制
Caused by: java.lang.NoClassDefFoundError: com/ibm/dtfj/image/CorruptDataException
        at org.eclipse.mat.dtfj.InitDTFJ.stop(InitDTFJ.java:70)
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-17 07:50:54

我昨天在Linux上用垫子..。查看正确的版本这里

票数 2
EN

Stack Overflow用户

发布于 2011-05-20 12:57:06

忘了Jhat吧,您需要100 G以上的RAM来解析这个转储,这将花费很长时间,而且很难找到一些东西。我刚在SUSE 11机器上安装了垫子。完美无缺地工作了。您能确保MAT使用的是正确的JVM吗?不确定我们是否用其他任何东西测试它,然后是SUN/SAP JVM。

你好,马库斯(柯勒姆)

票数 1
EN

Stack Overflow用户

发布于 2011-05-20 05:21:35

我们过去曾成功地使用Netbeans来分析OOM错误。它似乎能处理Eclipse和JHAT不能处理的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6026959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档