192 votes

Utilisation du paramètre HeapDumpOnOutOfMemoryError pour le vidage du tas pour JBoss

On m'a dit que je pouvais ajouter le -XX:+HeapDumpOnOutOfMemoryError aux options de démarrage de ma JVM à mon script de démarrage de JBoss pour obtenir un vidage du tas lorsque notre application présente une erreur de mémoire insuffisante. Je me demandais où ces données sont vidées ? Est-ce seulement dans la console, ou dans un fichier journal ? Si c'est juste dans la console, que se passe-t-il si je ne suis pas connecté au serveur unix via la console ?

Merci

263voto

Matt Solnit Points 13528

Voici ce que La documentation d'Oracle a à dire :

Par défaut, le vidage du tas est créé dans un fichier appelé java_ pid .hprof dans le répertoire de travail de la VM, comme dans l'exemple exemple ci-dessus. Vous pouvez spécifier un autre nom de fichier ou répertoire avec l'option -XX:HeapDumpPath= option. Pour exemple -XX:HeapDumpPath=/disk2/dumps fera en sorte que le vidage du tas soit généré dans le /disk2/dumps répertoire.

51voto

Vous pouvez visualiser ce dump depuis la console UNIX.

Le chemin pour le vidage du tas sera fourni comme une variable juste après l'endroit où vous avez placé la variable mentionnée.

Par exemple :

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${DOMAIN_HOME}/logs/mps"

Vous pouvez visualiser le dump depuis la console sur le chemin mentionné.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X