À l'aide de HeapDumpOnOutOfMemoryError paramètre pour des tas de vidage pour JBoss
M'a dit que je pouvez ajouter la -XX:+HeapDumpOnOutOfMemoryError
paramètre à ma JVM options de démarrage de mon JBoss script de démarrage pour obtenir un heap dump quand nous obtenons une erreur de mémoire insuffisante dans notre application. Je me demandais où les données sont sous-évaluées? Est-il juste de la console, ou à un fichier de log? Si c'est juste pour la console, et si je ne suis pas connecté sur le serveur Unix via la console?
- C'est-à dossier en cours, je suppose.
Vous devez vous connecter pour publier un commentaire.
Voici ce que Oracle de la documentation est-à-dire:
HeapDumpPath
, vous verrez quelque chose de similaire à"Unable to create /tmp/java_pidpid.hprof: File exists"
dans votre standard. Assurez-vous de déplacer votre fichier de vidage de la décharge du chemin à dégager la voie pour les futurs fichiers de vidage; et de faire usage de la<pid>
espace réservé dans le nom du fichier à augmenter l'entropie dans le nom de fichier.Vous pouvez afficher cette image mémoire de la console UNIX.
Le chemin d'accès pour le heap dump sera fourni comme une variable juste après l'endroit où vous avez placé mentionné variable.
E. g.:
Vous pouvez afficher l'image mémoire de la console sur le chemin spécifié.
Je l'ai trouvé difficile à déchiffrer ce que l'on entend par "répertoire de travail de la machine virtuelle". Dans mon exemple, j'ai été en utilisant le Java Service Wrapper programme à exécuter un pot - la sauvegarde de fichiers ont été créés dans le répertoire où j'avais placé le programme d'enveloppe, par exemple c:\myapp\bin. La raison j'ai découvert que c'est parce que les fichiers peuvent être assez grande, et ils avaient rempli le disque dur avant que je découvre leur emplacement.
Si vous n'êtes pas en utilisant "-XX:HeapDumpPath" option, puis dans le cas de JBoss EAP/en tant Que par défaut, le heap dump fichier sera généré dans "JBOSS_HOME/bin".