Как установить JAVA_OPTS для tomcat на FreeBSD?
Я получил OutOfMemoryError: PermGen space
ошибка.
Я запускаю Tomcat, используя команду:
/usr/local/etc/rc.d/tomcat7 start
Я пытаюсь увеличить пространство PermGen (JAVA_OPTS="-XX:PermSize=256m -XX:MaxPermSize=256m"
).
Я пытался добавить эту строку в следующих местах:
catalina.sh
startup.sh
setenv.sh
tomcat7(/usr/local/etc/rc.d/)
Но это не влияет. Состояние сервера Tomcat по умолчанию (/manager/status) показывает, что для PS Perm Gen разрешено только 82 МБ.
Что я сделал не так?
OS Name: FreeBSD
OS Version: 9.1-STABLE
# java -version
openjdk version "1.7.0_21"
OpenJDK Runtime Environment (build 1.7.0_21-b11)
OpenJDK 64-Bit Server VM (build 23.21-b01, mixed mode)
2 ответа
Что мне помогло: в tomcat7(/usr/local/etc/rc.d/)
:
tomcat7_java_opts="-XX:PermSize=256m -XX:MaxPermSize=256m"
Я подозреваю, что серверный процесс на машине не получает правильную версию Java OPTS. Пожалуйста, попробуйте найти процесс на сервере и проверить передаваемые параметры.
В Linux обычно
ps -ef | греческий кот
или ps -ef | гре ява
чтобы выяснить процесс и проверить параметры JVM.
Редактировать 1: пример вывода команды для поиска процесса, который может указывать значения параметра java opt:
local-vm-1 [5]:ps -ef | grep tomcat
tomcat 4141 1 0 07:38 ? 00:01:33 /apps/mw/jdk/1.6.0.17-64bit/bin/java -Dnop -Xms1024m -Xmx1024m -server -DTC=testplatform -DWMC_ENV
=test -XX:MaxNewSize=112m -XX:NewSize=112m -XX:SurvivorRatio=6 -XX:PermSize=256m -XX:MaxPermSize=256m -Dsun.net.inetaddr.ttl=0 -DLISTEN_ADDRESS=wsx
-test-vm-dtcp-1.managed.com -Djavax.net.ssl.trustStore=/tech/tomcat/props/ldapstore.ts -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxre
mote.host=wsx-test-vm-dtcp-1 -Dcom.sun.management.jmxremote.port=25000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.auth
enticate=true -Dcom.sun.management.jmxremote.password.file=/tech/tomcat/props/jr-password.properties -Dcom.sun.management.jmxremote.access.file=/tec
h/tomcat/props/jr-access.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/tech/tomcat/apache-tomca
t-7.0.16/endorsed -classpath /tech/tomcat/apache-tomcat-7.0.16/bin/bootstrap.jar:/tech/tomcat/apache-tomcat-7.0.16/bin/tomcat-juli.jar -Dcatalina.ba
se=/tech/tomcat/instances/testplatform -Dcatalina.home=/tech/tomcat/apache-tomcat-7.0.16 -Djava.io.tmpdir=/tech/tomcat/instances/testplatform/te
mp org.apache.catalina.startup.Bootstrap start