IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Websphere Java Discussion :

Crash suite à une OutOfMemoryException


Sujet :

Websphere Java

  1. #1
    Membre régulier
    Inscrit en
    Avril 2005
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 69
    Points : 72
    Points
    72
    Par défaut Crash suite à une OutOfMemoryException
    Bonjour,
    Nous disposons d'un serveur d'application WAS 6.0.2.17 en production. De temps en temps ce dernier crashe. Au niveau des logs nous avons relevé un OutOfMemoryException. J'ai fait des recherche par ci par la et j'ai conclu que ce type d'exception est le plus difficile à diagnostiquer, d'autant plus que la fréquence ainsi que moment où à lieu le crash sont très arbitraire!!
    Dans ce que j'ai lu par exemple c'est que la taille minimal et maximale du heap sont primordiales et constituent l'un des facteurs permettant de prévenir ce type d'exception. Comment bien tailler ces valeurs sachant que, d'après ce que j'ai cru comprendre:
    +une valeur trop faible du max entrainerait trop de passages du garbage collector et éventuellement un débordement de mémoire
    +une valeur trop élevé du max entrainerait un passage trop long du gc(ce qui impacterait les performance) ainsi qu'une fragmentation de la mémoire ..
    +une valeur trop faible du min entrainerait des appels systèmes pour allouer de la mémoire
    +pour la veleur élevée du min, je sais plus.

    Toute suggestion serait la bienvenue.
    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Deux causes possibles :

    1) Tu est victime d'une fuite memoire "memory leak" et il va falloir trouver d'ou cela vient !
    1.1) il faut que ton appli te génère un fichier HeapDump qui est une image de la mémoire à l'instant du Crash, si ca n'est pas le cas ajoute une option à la JVM cherches IBM_HEAPDUMP / version WAS
    1.2) Pour lire ce fichier IBM te propose un Outil Memory Dump Diagnostic qui permet par ailleurs d'exploiter 2 HeapDump différents 1 apres démarrage de ton appli puis celui du crash, PMAT te fera un Delta et t'aidera à trouver les objets qui se sont trop multipliés en JVM

    2) Ta JVM est mal sizée : La il faut que tu active le verboseGC de la JVM (ca ne prend rien en Overhead) puis tu l'ouvre avec l' Outil IBM PMAT et tu verras quelle taille de HeapSize il te faut disons Max de memoire used + 30% à toi de voir.
    Une grosse mémoire allouée sera certes plus difficile à compacter mais si tu en a besoin de toutes facon tu n'a pas le choix ! L'important est de ne pas mettre une valeur minimum trop grande c'est celle ci qui causerait des GC trop long par rapport au besoin.

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/10/2007, 16h36
  2. attraper un crash dans une fonction d'une bibliothèque
    Par JeromeCJU dans le forum Bibliothèques
    Réponses: 5
    Dernier message: 10/03/2006, 13h17
  3. [FLASH 8] texte suit une ligne??
    Par steeves5 dans le forum Flash
    Réponses: 2
    Dernier message: 27/01/2006, 10h41
  4. reauete suite à une requete
    Par 74160 dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/08/2003, 14h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo