Wie stellen Sie sicher, dass Tomcat6 liest CATALINA_OPTS auf Windows?

Ich habe einen Tomcat6 läuft auf einem Windows2003-Maschine.
Ich bereitgestellt 2 Grails-Anwendungen auf diesem server und ich merkte schnell, dass alles stürzt ab, irgendwann nach dem bereitstellen mit einem klassischen PermGen-Fehler.

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 
...

So fand ich eine Allgemeine Lösung für dieses problem: erhöhen heap und permgen space mit:

set CATALINA_OPTS="-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m"

Hinzugefügt C:\apache-tomcat-6.0.26\bin\catalina.bat.
Leider das hat nicht funktioniert, aber das problem ist, dass ich nicht sicher bin, dass Tomcat aufnehmen. Ich überprüfte die verschiedenen Protokolle, aber diese Optionen werden nie ausgedruckt.
Gibt es eine Möglichkeit, protokollieren Sie und stellen Sie sicher, dass Tomcat gelesen hat?

EDIT: ich habe versucht, fügen Sie die folgenden JVM-Optionen mit tomcat6w.exe:

-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled 
-XX:+UseConcMarkSweepGC

Und nichts verändert. Ich bekomme eine permGen nach 2-3 Minuten Betriebszeit.
Jede andere Idee?

Prost!
Mulone

Die java-vm benutzt du?
Guter Punkt: C:\Program Files\Java\jdk1.6.0_19\jre\bin\server\jvm.dll
Diese Art der Frage ist für serverfault.com, denke ich.
Tomcat-Entwickler empfehlen, um Ihre Anpassungen zu trennen. Verwenden Sie "%CATALINA_BASE%\bin\setenv.bat" - Datei für die Einstellung der Variablen, anstatt Sie zu ändern innen "catalina.Fledermaus".

InformationsquelleAutor Mulone | 2010-08-27

Schreibe einen Kommentar