ich Setup versucht, meine setenv.sh
auf Ubuntu 12/Tomcat 7. Tomcat mit installiert wurde apt-get Ich habe versucht, ein mehrzeiliges JAVA_OPTS
Variable zu erstellen, sondern läuft in Fehlermeldungen halten .mehrzeilige JAVA_OPTS in setenv.sh
#!/bin/sh
export JAVA_OPTS="$JAVA_OPTS -server \
-Xms512m -Xmx512m"
: not foundtomcat7/bin/catalina.sh: 4: /usr/share/tomcat7/bin/setenv.sh:
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr/lib/jvm/java-7-oracle/
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Error: Could not find or load main class
#!/bin/sh
export JAVA_OPTS="$JAVA_OPTS -server -Xms512m -Xmx512m"
: not foundtomcat7/bin/catalina.sh: 3: /usr/share/tomcat7/bin/setenv.sh:
Using CATALINA_BASE: /usr/share/tomcat7
Using CATALINA_HOME: /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME: /usr/lib/jvm/java-7-oracle/
Using CLASSPATH: /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Invalid maximum heap size: -Xmx512m
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
ich es so aktualisiert haben, aber nur die letzte Zeile an der Echo-Position angezeigt.
#!/bin/sh
JAVA_OPTS="$JAVA_OPTS -server -Xms704m -Xmx704m"
JAVA_OPTS="$JAVA_OPTS -XX:OnOutOfMemoryError=/usr/share/scripts/on_server_crash.sh"
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/tomcat7"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=128m -XX:MaxNewSize=256m -XX:NewSize=256m"
echo $JAVA_OPTS
JAVA_OPTS="$JAVA_OPTS -XX:SurvivorRatio=12 -XX:MaxTenuringThreshold=0"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalPacing -XX:+CMSClassUnloadingEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSPermGenSweepingEnabled -XX:+DisableExplicitGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC -XX:+UseTLAB"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -javaagent:$NR_JAR -Dnewrelic.environment=production"
echo $JAVA_OPTS
export JAVA_OPTS
Wenn ich "jeden Befehl in einer eigenen Zeile" ohne die Export-Option versuchen, erhalte ich „nicht erkannte Option -server
#!/bin/sh
JAVA_OPTS="$JAVA_OPTS -server"
JAVA_OPTS="$JAVA_OPTS -Xms704m"
JAVA_OPTS="$JAVA_OPTS -Xmx704m"
JAVA_OPTS="$JAVA_OPTS -XX:OnOutOfMemoryError=/usr/share/scripts/on_server_crash.sh"
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=/var/log/tomcat7"
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=128m"
JAVA_OPTS="$JAVA_OPTS -XX:MaxNewSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:NewSize=256m"
JAVA_OPTS="$JAVA_OPTS -XX:SurvivorRatio=12"
JAVA_OPTS="$JAVA_OPTS -XX:MaxTenuringThreshold=0"
JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalMode"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSIncrementalPacing"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSClassUnloadingEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+CMSPermGenSweepingEnabled"
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
JAVA_OPTS="$JAVA_OPTS -XX:+UseTLAB"
JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
JAVA_OPTS="$JAVA_OPTS -javaagent:$NR_JAR"
JAVA_OPTS="$JAVA_OPTS -Dnewrelic.environment=production"
echo JAVA_OPTS
Bitten Sie die {} Taste für Code - das es für Dich formatieren. –
Könnten Sie bitte die ganze Zeile zeigen, die Sie in der Shell ausführen wollen, also 'java $ JAVA_OPTS ....' –
Ich habe meine Antwort mit einer Version aktualisiert, die auf dem Vorschlag von bmargulies basiert. Es scheint jedoch, nur den letzten Aufruf von JAVA_OPTS festzulegen und die vorherigen Anweisungen nicht einzuschließen. – Marc