【问题标题】:How to set JAVA_OPTS for tomcat on FreeBSD?如何在 FreeBSD 上为 tomcat 设置 JAVA_OPTS?
【发布时间】:2013-09-04 18:29:39
【问题描述】:

我收到了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 只允许 82MB。

我做错了什么?

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)

【问题讨论】:

  • 您是否尝试将其添加到 Catalina.sh 中?

标签: java tomcat freebsd permgen java-opts


【解决方案1】:

对我有什么帮助: 在tomcat7(/usr/local/etc/rc.d/)

tomcat7_java_opts="-XX:PermSize=256m -XX:MaxPermSize=256m"

【讨论】:

    【解决方案2】:

    我怀疑机器上的服务器进程没有选择正确的 Java OPTS。 请尝试在服务器上查找进程并检查正在传递的参数。

    在Linux中,它通常是

    ps -ef | grep tomcat
    或 ps -ef | grep java

    找出进程并验证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
    

    【讨论】:

    • 你是对的,服务器没有选择 Java Opts(PS Perm Gen. 只允许 82MB)。您的命令没有返回任何内容
    • 这些命令适用于 linux。我只是想找出运行 tomact 的确切过程。我编辑了答案以显示有关如何找到 tomcat 正在拾取的确切参数的示例。
    猜你喜欢
    • 2013-01-21
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 2020-07-16
    • 1970-01-01
    • 2014-08-25
    • 2016-07-25
    相关资源
    最近更新 更多