Question

J'ai un serveur d'applications Tomcat est configuré pour créer une image mémoire sur OOM, et il est commencé avec -Xmx1024M, donc une Gigabyte devrait être disponible pour lui.

Maintenant, je trouve un tel taudis et il ne contient que 260Mo de mémoire non retenu. Comment est-il possible que la décharge est tellement plus petite que la taille qu'il devrait disposer?

Était-ce utile?

La solution

espace PermGen est géré indépendamment du tas et peut manquer même quand il y a beaucoup de mémoire libre globale. Certains cadres web (en particulier JSF) sont réels et les porcs tout en restant facilement causer la configuration par défaut de manquer. Elle peut être augmentée avec -XX: MaxPermSize = ### m

Rappelez-vous l'espace du système est limité par la somme des tas et PermGen, de sorte que vous pouvez consommer moins de ressources au total avant de commencer à obtenir le ne peut pas créer exception native Discussion OOM si vous ne diminuez pas tas par la quantité PermGen est augmentée.

Autres conseils

Seules les informations sur l'utilisation de la mémoire allouée sera jeté dans un fichier. Une décharge de tas n'est pas une image binaire de votre tas, il contient des informations sur les types de données, etc., et peut dépasser votre mémoire disponible.

texte (classique) format de fichier heapdump

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