Tag: memoryanalyzer

巨大的堆转储(11GB) – Jhat失败和Eclipse MAT需要帮助

我们的EA中出现内存错误,我们使用-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/some/dir在OOM时转储堆。 我们有一个12GB的堆内存和256MB的perm gen。 堆转储是在我们运行我们的应用程序的Linux框中生成的,其大小为11.5GB。 我们没有权限将其下载到我们的本地。 当我们尝试使用JHAT分析11GB堆转储时,它会抛出一个OOM。 我们从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分钟)后抛出一个OOMexception。 我们用谷歌搜索它并发现MAT作为一个强大的堆转储分析器,但不是在LINUX中使用它的方法。 任何建议都会有更大的帮助。 谢谢。 改性: 在Linux x86_64机器上安装了MAT,但在执行时出现了以下错误./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: […]