web-dev-qa-db-fra.com

Eclipse Memory Analyzer, mais affiche toujours Une erreur interne s'est produite?

Java.lang.OutOfMemoryError: Java heap space
Dumping heap to Java_pid2584.hprof ...
Heap dump file created [106948719 bytes in 4.213 secs]
Exception in thread "main" Java.lang.OutOfMemoryError: Java heap space
at Java.util.Arrays.copyOf(Arrays.Java:2760)
at Java.util.Arrays.copyOf(Arrays.Java:2734)
at Java.util.ArrayList.ensureCapacity(ArrayList.Java:167)
at Java.util.ArrayList.add(ArrayList.Java:351)
at Main.main(Main.Java:15)

Mais quand j'ouvre le tas, Java_pid 2584.hprof via Eclipse Memory Analyzer, mais il y a toujours un message:

An internal error occurred during: 
"Parsing heap dump from **\Java_pid6564.hprof'".Java heap space
41
Gavin

Le problème est qu’Eclipse Memory Analyzer ne dispose pas d’un espace suffisant pour ouvrir le fichier de vidage de tas.

Vous pouvez résoudre le problème comme suit:

  1. ouvrez le fichier MemoryAnalyzer.ini

  2. changer le -Xmx1024m par défaut en une taille plus grande

73
codeisee

Notez que sous OS X, pour augmenter la mémoire allouée à MAT, vous devez cliquer avec le bouton droit sur Memory Analyzer.app et afficher le contenu du package. Le fichier MemoryAnalyzer.ini se trouve sous/Sommaire/MacOS /.

19
tkincher

Solution au même problème pour le plug-in Memory Analyzer dans Eclipse sous MAC OS X El Capitan. 

Je faisais face au même problème mais avec le plugin Eclipse et je n’avais aucune application Memory Analyzer dans le dossier Applications. La solution qui a fonctionné pour moi était la suivante:

  1. Cliquez avec le bouton droit sur l'icône Eclipse et sélectionnez Afficher le contenu du package. 
  2. Aller au contenu> Eclipse
  3. Ouvrez Eclipse.ini
  4. Changer la valeur -Xmx1024m en -Xmx2048m
  5. Redémarrer Eclipse
9
Abhishek Garg

Sous OS X 11.5 (El Cap), modifier MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini ne fonctionne pas! C'est parce qu'il cherche le MemoryAnalyzer.ini dans un endroit différent. 

Sur mon ordinateur, il cherchait:

MemoryAnalyzer.app/Contents/Eclipse/MemoryAnalyzer.ini mais le vrai fichier .ini était: MemoryAnalyzer.app/Contents/MacOS/MemoryAnalyzer.ini

Pour que vos modifications prennent effet, copiez le fichier .ini existant dans le nouvel emplacement.

Pour trouver où MemoryAnalyzer recherche le fichier ini, vous pouvez exécuter:

Sudo su
cd ...MemoryAnalyzer.app/Contents/MacOS/
dtruss ./MemoryAnalyzer 2>&1 | grep ini
8
Russell Cohen

Si Memory Analyzer est utilisé à partir d'Eclipse, modifiez votre fichier Eclipse.ini pour augmenter l'argument vm à -Xmx1024m ou plus. Cela a fonctionné pour moi . http://wiki.Eclipse.org/index.php/MemoryAnalyzer/FAQ#Out_of_Memory_Error_while_Running_the_Memory_Analyzer

5
Goodluck

J'ai également essayé toutes les solutions ici, tout en obtenant la même erreur et la raison pour laquelle Eclipse essayait d'ouvrir le fichier .hprof en tant que fichier texte en raison d'une association de type de fichier/éditeur incorrecte ou inconnue.

Solution: Faites un clic droit sur le fichier, sélectionnez Ouvrir avec, puis sélectionnez Autres et sélectionnez Eclipse Memory Analyzer.

Travaillé avec 700 Mo de vidage, et avec 2G dump sur un tas Eclipse d'environ 600 M.

1
mibrahim

Si vous utilisez Mac, essayez d'exécuter le fichier exécutable dans le "dossier" mat.app avec l'option -data, qui vous permet de spécifier un chemin d'accès en écriture:

cd mat.app/Contents/MacOS
./MemoryAnalyzer -data <writable_path>
0
snowfox