Pregunta

Llegamos a un error de memoria en nuestro EA y hemos utilizado -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/some/dir para el volcado de la pila en el momento de la OOM.

Hemos tenido un montón de memoria de 12 GB y perm gen de 256 MB.

El volcado del montón que se genera en el cuadro de Linux donde tenemos nuestra aplicación funcionando y su tamaño es de 11.5 GB.No tenemos privilegios para descargar a nuestro local.

Cuando tratamos de analizar los 11 GB montón de volcado de uso JHAT se inició una OOM.

Tratamos los siguientes comandos desde nuestro 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

Para todas las opciones de su lanzando una OOM excepción después de leer el volcado durante varios minutos(>30 minutos).

Hemos buscado en google y encontró MAT como un poderoso montón de volcado de analizador, pero no de una manera para utilizarlo en LINUX.

Cualquier sugerencia sería de mayor ayuda.Gracias.

Modificado:

Tengo MAT instalado en Linux x86_64 la máquina, pero consiguió siguiente error cuando se ejecuta ./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

He intentado ./ParseHeapDump.sh ../java_pid1491.hprof esto y tengo siguiente error,

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

Solución

Ayer estuve usando MAT en Linux....mira la versión adecuada aquí

Otros consejos

olvidar Jhat, necesitaría más de 100Gybte de RAM para analizar este volcado, tomaría para siempre y sería muy difícil encontrar algo.Yo sólo últimamente instalado ESTERA en un SUSE 11 de la máquina.funcionó a la perfección .Puede usted por favor asegúrese de que la alfombra está utilizando el derecho de la JVM?No se si nos testet con cualquier otra cosa entonces el SOL/SAP Jvm.

Saludos, Markus (kohlerm)

Hemos tenido éxito en el pasado utilizando Netbeans para analizar errores de OOM.Parecía hacer frente a lo que Eclipse y JHAT no podían.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top