Question

Nous avons obtenu une erreur de mémoire dans notre EA et nous avons utilisé -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/some/dir pour vider le tas au moment de l'OOM.

Nous avons eu un tas de mémoire de 12 GO et perm gen de 256 MO.

Le tas de vidage est généré dans la boîte Linux où nous avons notre application en cours d'exécution et sa taille est de 11,5 GO.Nous n'avons pas les privilèges pour le télécharger à nos locaux.

Quand nous avons essayé d'analyser l'11 GO tas de vidage à l'aide de JHAT elle jeté un OOM.

Nous avons essayé les commandes suivantes à partir de notre ligne de commande Linux.

jhat java_pid1491.hprof
jhat -J-Xmx16g -XX:-UseBiasedLocking java_pid1491.hprof
jhat -J-d64 -J-Xmx16g -J-XX:-UseBiasedLocking java_pid1491.hprof#1

Pour toutes les options de son jetant un OOM exception après la lecture de la décharge pendant plusieurs minutes(>30 minutes).

Nous googlé et trouvé MAT comme un puissant heap dump de l'analyseur, mais pas moyen de l'utiliser sous LINUX.

Toute suggestion serait de l'aider davantage.Merci.

Modifié:

Obtenu TAPIS installé dans Linux x86_64 machine, mais a obtenu d'erreur suivant lors de l'exécution ./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

J'ai essayé ./ParseHeapDump.sh ../java_pid1491.hprof ce et a obtenu d'erreur suivant,

Caused by: java.lang.NoClassDefFoundError: com/ibm/dtfj/image/CorruptDataException
        at org.eclipse.mat.dtfj.InitDTFJ.stop(InitDTFJ.java:70)
Était-ce utile?

La solution

J'ai été en utilisant TAPIS sur Linux hier....découvrez la version correcte ici

Autres conseils

oubliez Jhat, vous aurait besoin de plus de 100Gybte de RAM pour analyser ce dump, ça prendrait une éternité et qu'il serait très difficile de trouver quelque chose.Je viens récemment installé TAPIS sur une SUSE 11 de la machine.a fonctionné parfaitement .Pouvez vous s'il vous plaît assurez-vous que le TAPIS est à l'aide de la droite de la JVM?Pas sûr que nous testet autre chose, puis le SOLEIL/SAP Jvm.

En ce qui concerne, Markus (kohlerm)

Nous avons eu du succès dans le passé à l'aide de Netbeans pour analyser OOM erreurs.Il semblait à face où Eclipse et JHAT ne pouvais pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top