2010-06-07 2 views
4

J'ai un problème curieux, j'ai besoin d'analyser un vidage de tas Java (à partir d'un IBM JRE) qui a 1,5 Go de taille, le problème est que lors de l'analyse du vidage (I J'ai essayé HeapAnalyzer et le IBM Memory Analyzer 0.5) les outils manquent de mémoire je ne peux pas vraiment analyser la décharge. J'ai 3 Go de RAM dans ma machine, mais il semble que ce n'est pas suffisant pour analyser le vidage de 1,5 Go,Dépassement de mémoire lors de l'analyse d'un vidage de tas Java

Ma question est, savez-vous un outil spécifique pour l'analyse de vidage de tas (prenant en charge les décharges IBM JRE) que je pourrais exécuter avec la quantité de mémoire que j'ai?

Merci. Essayez l'outil Analyseur de mémoire SAP, qui comporte également une éclipse plugin.

+0

Quelle est la taille de segment maximale pour l'ensemble JVM lorsque vous exécutez ces outils? Assurez-vous qu'il est réglé sur au moins 2 Go. – Mark

+0

J'ai manipulé ce paramètre, en fait le maximum que j'ai pu utiliser lors du démarrage des outils est de 1600 Mo (-Xmx1600m) depuis ma machine, si je spécifie une valeur plus grande, j'obtiens une erreur spécifiant que ce n'était pas possible pour allouer la quantité de mémoire demandée. –

+2

Empruntez une machine 64 bits pendant une demi-heure. –

Répondre

4

Cet outil crée des fichiers d'index sur le disque car il traite le fichier de vidage et nécessite beaucoup moins de mémoire que vos autres options. Je suis sûr qu'il prend en charge les nouveaux IBM JRE. Cela étant dit - avec un fichier de vidage de 1,5 Go, vous pourriez avoir aucune autre option que d'exécuter une JVM 64 bits pour analyser ce fichier - J'estime généralement qu'un fichier de vidage tas de taille n prend 5 * n mémoire pour ouvrir à l'aide des outils standard, et 3 * n mémoire pour ouvrir en utilisant MAT, mais votre salaire variera en fonction de ce que le vidage contient réellement.

+0

D'accord avec MAT. J'ai été en mesure d'ouvrir des décharges de tas de 1,5 Go, mais il utilisait une machine virtuelle Java 64 bits sur une machine avec 4 Go de mémoire. – Mark

+0

J'ai été capable de lancer MAT dans une machine Linux, celle-ci est une boîte de 32 bits, mais on dirait que Linux est capable de gérer des processus de 3GB (j'ai utilisé -Xmx3000m), j'ai enfin pu analyser le vidage m capable d'analyser à partir de Windows =) –

Questions connexes