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

JOnAS Java Discussion :

[Exception] OutOfMemoryError: PermGen space


Sujet :

JOnAS Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Par défaut [Exception] OutOfMemoryError: PermGen space
    Bonjour,
    je travaille actuellement sur une appli J2EE avec un serveur JOnAS.

    A force de déployer (et redéployer...), lorsque je veux consulter mon appli via un navigateur, j'ai l'erreur suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.OutOfMemoryError: PermGen space
    Le seul remède que j'ai trouvé c'est celui de redémarrer JOnAS.
    Voici mon build.xml (si ça peut aider):
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    <project name="Test_Sout_RCE" default="compile" basedir=".">
    	<description>
    		Test_Sout_RCE local build file
        </description>
     
    	<property environment="env" />
    	<property name="filename" value="Test_Sout_RCE" />
    	<property name="src" location="src" />
    	<property name="build" location="WEB-INF/classes" />
    	<property name="lib" location="WEB-INF/lib" />
    	<property name="server" location="${env.CATALINA_HOME}" />
    	<property name="servlet.jar" location="${server}/common/lib/servlet-api.jar" />
    	<property name="deploy" location="${server}/webapps/${filename}.war" />
     
    	<target name="init">
    		<tstamp />
    		<delete dir="${build}" />
    		<mkdir dir="${build}" />
    	</target>
     
    	<path id="project.class.path">
    		<pathelement path="${env.classpath}" />
    		<fileset dir="${lib}">
    			<include name="**/*.jar" />
    		</fileset>
    		<pathelement location="${src}" />
    		<pathelement location="${build}" />
    		<pathelement location="${servlet.jar}" />
    	</path>
     
    	<target name="compile" depends="init" description="compile the source ">
    		<echo message="compiling files" />
    		<javac srcdir="${src}" destdir="${build}" classpathref="project.class.path" />
    		<echo message="copying other src xml and property files to classes" />
    		<copy toDir="${build}">
    			<fileset dir="${src}">
    				<include name="**/*.properties" />
    				<include name="**/*.xml" />
    			</fileset>
    		</copy>
    	</target>
     
    	<target name="war" depends="compile" description="Builds and deploys application war file">
     
    		<echo message="Undeploying Old WarFile..." />
    		<exec dir="." executable="cmd.exe">
    			<arg line="/c jonas admin -r ${deploy}" />
    		</exec>
    		<echo message="Old WarFile Undeployed !" />
     
    		<delete dir="${server}/webapps/${filename}.war" />
    		<war webxml="WEB-INF/web.xml" destfile="${deploy}" update="true">
    			<fileset dir=".">
    				<include name="**/**.gif" />
    				<include name="**/**.png" />
    				<include name="**/**.jsp" />
    				<include name="**/**.css" />
    				<include name="**/**.js" />
    				<include name="**/**.html" />
    				<include name="**/**.htm" />
    			</fileset>
    			<webinf dir="WEB-INF" includes="**" />
    		</war>
     
    		<echo message="Deploying New WarFile..." />
    		<exec dir="." executable="cmd.exe">
    			<arg line="/c jonas admin -a ${deploy}" />
    		</exec>
    		<echo message="New WarFile Deployed !" />
     
    	</target>
     
    </project>
    Que puis-je faire ?
    Merci de votre implication

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    Je ne vais surement pas faire avancer la chose, mais sache que j'ai le même problème avec Tomcat et que moi aussi la seul chose que j'ai trouvé à faire est de redémarer le serveur.
    Donc si tu trouves une solution je suis preneur

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2003
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 71
    Par défaut
    sinon a tu essayé ceci :

    Augmenter la mémoire allouée à Java ?

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2006
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 238
    Par défaut
    Mon problème n'est pas lié à la compilation, c'est lorsque j'accede a mon appli (déployée sous Jonas) depuis un navigateur.

  5. #5
    Membre éprouvé
    Avatar de moritan
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2005
    Messages
    687
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2005
    Messages : 687
    Par défaut
    J'ai le même problème sous Tomcat , apparamment lié à Hibernate.

    Hibernate et d'autre utilise la librairie CGLIB (plus très sur du nom).
    Le problème c'est que lors d'un reload d'appli CGLIB ne rend pas toute la mémoire en permgen (utiliser pour le classloader ) apparemment 4Mo reste perdu à chaque reload.

    Et pour l'instant y'a pas de solution à moins de ne pas utiliser un composant basé sur CGLIB...

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    204
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 204
    Par défaut
    moi aussi parfaois j obtiens cette erreur

    Mais moi , j utilise Jboss, et dans le repértoire serveur je fais un peu le ménage en supprimant les differents ear déployés

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/10/2009, 13h48
  2. java.lang.OutOfMemoryError: PermGen space
    Par john_wili dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 11/04/2009, 19h23
  3. Horrible Exception: java.lang.OutOfMemoryError: PermGen space
    Par liquideshark dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 06/01/2009, 10h54
  4. java.lang.OutOfMemoryError: PermGen space
    Par LGnord dans le forum Langage
    Réponses: 15
    Dernier message: 13/11/2007, 18h21
  5. Réponses: 9
    Dernier message: 28/08/2007, 16h13

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