J'ai un Tomcat6 en cours d'exécution sur une machine Windows2003. J'ai déployé 2 applications Grails sur ce serveur et j'ai vite remarqué que tout se bloque quelque temps après le déploiement avec une erreur classique de PermGen.Comment vous assurer que Tomcat6 lit CATALINA_OPTS sous Windows?
java.lang.OutOfMemoryError: PermGen space
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
java.lang.ClassLoader.defineClass(ClassLoader.java:616)
org.codehaus.groovy.reflection.ClassLoaderForClassArtifacts.de
...
donc j'ai trouvé une solution commune pour ce problème: tas et de plus en plus l'espace PermGen avec:
set CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"
Ajouté dans C: \ apache-tomcat-6.0.26 \ bin \ catalina.bat. Malheureusement, cela n'a pas fonctionné, mais le problème est que je ne suis pas sûr que Tomcat le prenne en charge. J'ai vérifié divers journaux mais ces options ne sont jamais imprimées. Existe-t-il un moyen de les enregistrer et de s'assurer que Tomcat les a lues?
EDIT: J'ai essayé d'ajouter les options JVM suivantes avec tomcat6w.exe:
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:+UseConcMarkSweepGC
Et rien changé. Je reçois un permGen après 2-3 minutes de disponibilité. Une autre idée?
À la votre! Mulone
Quels java vm utilisez-vous? – Joelio
Bon point: C: \ Programmes \ Java \ jdk1.6.0_19 \ jre \ bin \ server \ jvm.dll – Mulone
Ce genre de question est pour serverfault.com, je suppose. – Ither