巨大的堆转储(11GB) - Jhat失败& Eclipse MAT需要帮助 [英] Huge heap dump (11GB) - Jhat failed & Eclipse MAT needed help

查看:170
本文介绍了巨大的堆转储(11GB) - Jhat失败& Eclipse MAT需要帮助的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的EA中出现内存错误,我们使用 -XX:+ HeapDumpOnOutOfMemoryError -XX:HeapDumpPath = / path / to / some / dir 将堆转储到OOM的时间。

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.

我们的堆内存为12GB,perm gen为256MB。

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

堆dump在我们运行应用程序的Linux机箱中生成,其大小为11.5GB。我们没有权限将其下载到我们的本地。

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.

当我们尝试使用 JHAT 它抛出了一个OOM。

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

我们从Linux CLI尝试了以下命令。

We tried the following commands from our Linux CLI.

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异常。

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

我们用Google搜索并发现 MAT 作为强大的堆转储分析器,但不是在LINUX中使用它的方法。

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.

已修改:

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

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

(.: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这个并得到以下错误,

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

Caused by: java.lang.NoClassDefFoundError: com/ibm/dtfj/image/CorruptDataException
        at org.eclipse.mat.dtfj.InitDTFJ.stop(InitDTFJ.java:70)


推荐答案

昨天我在Linux上使用MAT ....
查看正确的版本这里

I was using MAT on Linux yesterday.... check out the proper version here

这篇关于巨大的堆转储(11GB) - Jhat失败& Eclipse MAT需要帮助的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆