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

Tomcat et TomEE Java Discussion :

problème de saturation mémoire


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 511
    Points : 386
    Points
    386
    Par défaut problème de saturation mémoire
    Bonjour
    Lors de déploiement successif sur mon pc ou sur le serveur intranet je provoque simultanément un plantage de tomcat pour saturation mémoire remontant ce message:
    .... indexOutMemory PermGem Space
    Il n'y a que peu de variables static et tout le traitement passe par des variables de session et du sql l'ensemble libéré après la réponse.
    L'appli intègre donc un pool de connexion qui doit être configurable sans avoir à modifier le .war et sans avoir recours à la section admin de tomcat. Donc j'ai opté pour un paramétrage via un fichier properties dont voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    public class Pool_de_connexion {
     
    	private static DataSource ds;
    //initialisation du pool
    	public static Boolean initialise(Properties p)
    		{
    		DriverAdapterCPDS cpds = new DriverAdapterCPDS();
            try {cpds.setDriver(p.getProperty("driver"));
    			} catch (ClassNotFoundException e1) {e1.printStackTrace();return(false);}
            cpds.setUrl(p.getProperty("urlBdd"));
            cpds.setUser(p.getProperty("login"));
            cpds.setPassword(p.getProperty("password"));
     
            SharedPoolDataSource tds = new SharedPoolDataSource();
            tds.setConnectionPoolDataSource(cpds);
            //nb connexions actives max
            tds.setMaxActive(Integer.parseInt(p.getProperty("nb_connection")));
            //tps max d'attente
            tds.setMaxWait(Integer.parseInt(p.getProperty("tps_max")));
            ds = tds;
            return(true);
        	}
     
    //récupération d'une connexion
        public static Connection getConnection()
    		{try
    			{return ds.getConnection();}
    		catch (final SQLException e)
    			{index.Gest_mat.trace = e.getMessage();return null;}
    		}
    }
    Donc quand on fait un stop puis un undeploy puis un redéploiement sur tomcat est-ce que la ressource du 1 er pool est libérée ?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 49
    Points : 60
    Points
    60
    Par défaut
    Tu peux augmenter la mémoire pour ton TOMCAT, il faut modifier la propriété Xmx au lancement du programme .

    Sur une veille machine en java 1.4 avec tomcat 4.1 j'ai la ligne de commande suivante pour lancer TOmcat:
    C:\j2sdk1.4.2_02\bin\java.exe -Xmx512m -jar -Duser.dir="C:\Program Files\Apache Group\Tomcat 4.1" "C:\Program Files\Apache Group\Tomcat 4.1\bin\bootstrap.jar" start

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Il te faut ajuster surtout la section du segment de mémoire réservée pour la génération permanente avec l'option PermSize (à l'origine de ton message)

    Tu trouveras des infos sur: http://java.sun.com/javase/technolog.../vmoptions.jsp
    section performance

    Jean

Discussions similaires

  1. [Toutes versions] Problème de saturation mémoire lors d'une copie de contact
    Par langkif dans le forum VBA Outlook
    Réponses: 3
    Dernier message: 25/08/2010, 11h08
  2. Eclipse 3.2 WTP problème saturation mémoire
    Par javanat dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 03/09/2007, 21h11
  3. Problème de fuite mémoire sur un idFTP
    Par jeromelef dans le forum Composants VCL
    Réponses: 6
    Dernier message: 26/07/2005, 18h29
  4. Réponses: 25
    Dernier message: 16/07/2003, 21h41
  5. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 17h10

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