【问题标题】:How to configure setenv.sh for tomcat8?如何为 tomcat8 配置 setenv.sh?
【发布时间】:2017-06-13 09:07:58
【问题描述】:

如何将自定义内存参数添加到tomcat8 服务?

我创建了以下文件:

-rwxr-xr-x 1 root root 211 Jun 13 10:51 setenv.sh

内容:

#! /bin/sh
export CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"

重启后:

ps aux | grep java

结果:我看不到我定义的内存选项。仅有的: ... -Xmx128m

但是为什么呢?如何检查 setenv.sh 是否或为什么正确加载?

【问题讨论】:

    标签: tomcat tomcat8


    【解决方案1】:

    由于问题提到了tomcat8,我假设这指的是 Debian 软件包。我一直在寻找一个对 Debian 友好的解决方案来解决这个问题,并且刚刚发现了另一种在启动时向 Tomcat 添加任意系统属性的方法。

    Tomcat 的标准 Debian 软件包还在以下目录下创建了一个默认配置文件:

    /etc/default/tomcatX(X 是 Tomcat 版本号)。

    JAVA_OPTS可以添加系统属性和其他JVM启动参数:

    # You may pass JVM startup parameters to Java here. If unset, the default
    # options will be: -Djava.awt.headless=true -XX:+UseConcMarkSweepGC
    #
    # Use "-XX:+UseConcMarkSweepGC" to enable the CMS garbage collector (improved
    # response time). If you use that option and you run Tomcat on a machine with
    # exactly one CPU chip that contains one or two cores, you should also add
    # the "-XX:+CMSIncrementalMode" option.
    JAVA_OPTS="-Djava.awt.headless=true -XX:+UseConcMarkSweepGC"
    

    顺便说一句,这也是可以指定不同 JVM 的配置文件,以防系统上安装多个,或者可以更改运行 Tomcat 的用户。

    【讨论】:

      【解决方案2】:

      解决方法:我拿错了目录。 setenv.sh 必须放在这里:

      /usr/share/tomcat8/bin

      【讨论】:

      • 认为 setenv.sh 应该放在安装 tomcat 的位置,即 $CATALINA_BASE/bin 其中 $CATALINA_BASE 是安装 tomcat 的路径。
      • /usr/share/ 目录应该被认为是只读的。请改为检查/etc/default/tomcat*。更多信息en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
      猜你喜欢
      • 2018-07-10
      • 2018-07-09
      • 2016-01-18
      • 2017-02-27
      • 2012-09-22
      • 2019-05-15
      • 2017-06-17
      • 1970-01-01
      • 2014-10-19
      相关资源
      最近更新 更多