出现意外的 JVM 参数(-Xms512M 和 -Xmx1024M)
Unexpected JVM Parameters (-Xms512M and -Xmx1024M) appearing
我已经在 Ubuntu 上配置了 Tomcat 8.5.32,并且使用 setenv.sh 我已经配置了 -Xms4096M 和 -Xmx8192M。
内容如下:
export JAVA_OPTS="-Djava.awt.headless=true -Xms4096M -Xmx8192M"
启动时,catalina.out 日志显示如下。如您所见,除了我所期望的之外,我还得到了 -Xms512M 和 -Xmx1024M。
19-Jul-2018 13:12:47.162 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.32
19-Jul-2018 13:12:47.165 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 20 2018 19:50:35 UTC
19-Jul-2018 13:12:47.166 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.32.0
19-Jul-2018 13:12:47.166 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
19-Jul-2018 13:12:47.166 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.4.0-130-generic
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-8-oracle/jre
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_171-b11
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
19-Jul-2018 13:12:47.168 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /opt/tomcat
19-Jul-2018 13:12:47.169 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /opt/tomcat
19-Jul-2018 13:12:47.169 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
19-Jul-2018 13:12:47.169 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
19-Jul-2018 13:12:47.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
19-Jul-2018 13:12:47.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms4096M
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx8192M
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms512M
19-Jul-2018 13:12:47.173 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx1024M
19-Jul-2018 13:12:47.173 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseParallelGC
19-Jul-2018 13:12:47.173 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
19-Jul-2018 13:12:47.176 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/tomcat
19-Jul-2018 13:12:47.176 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/tomcat
19-Jul-2018 13:12:47.177 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp
我已经尝试了一些检查以确保我没有完全偏离我正在尝试做的事情,方法是将 catalina.sh 脚本调整为 "echo" 一些最终执行命令之前的详细信息。我得到了以下输出,它主要与 catalina 日志相关,但仍然看不到额外参数的来源!!
Catalina Opt:
Java Opt: -Djava.awt.headless=true -Xms4096M -Xmx8192M -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
JDPA Opt:
JSSE Opt: -Djdk.tls.ephemeralDHKeySize=2048
Logging Config: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
Class Path: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
JDK Java Options: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Run Java: /usr/lib/jvm/java-8-oracle/bin/java
Endorsed Prop: ignore.endorsed.dirs
Catalina Base: /opt/tomcat
Catalina Home: /opt/tomcat
Catalina PID:
有人知道那些额外的 -Xms 和 -Xmx 参数可能来自哪里吗?我已经尝试过,也将 $CATALINA_OPTS 添加到 setenv.sh 文件,但我只是在 catalina.out 日志中出现了第三组 JVM 参数。
好像和下面类似但是没有答案:
Tomcat java.lang.OutOfMemoryError: Java heap space
在我的 tomcat 配置中,我配置了以下文件来设置一些系统默认值:
/etc/systemd/system/tomcat.服务
其中包含以下行(以及其他行):Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
我没想到配置会在 $CATALINA_HOME.
以外的位置
我已经在 Ubuntu 上配置了 Tomcat 8.5.32,并且使用 setenv.sh 我已经配置了 -Xms4096M 和 -Xmx8192M。 内容如下:
export JAVA_OPTS="-Djava.awt.headless=true -Xms4096M -Xmx8192M"
启动时,catalina.out 日志显示如下。如您所见,除了我所期望的之外,我还得到了 -Xms512M 和 -Xmx1024M。
19-Jul-2018 13:12:47.162 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.32
19-Jul-2018 13:12:47.165 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 20 2018 19:50:35 UTC
19-Jul-2018 13:12:47.166 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.32.0
19-Jul-2018 13:12:47.166 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux
19-Jul-2018 13:12:47.166 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 4.4.0-130-generic
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/java-8-oracle/jre
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_171-b11
19-Jul-2018 13:12:47.167 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation
19-Jul-2018 13:12:47.168 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /opt/tomcat
19-Jul-2018 13:12:47.169 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /opt/tomcat
19-Jul-2018 13:12:47.169 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
19-Jul-2018 13:12:47.169 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
19-Jul-2018 13:12:47.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.awt.headless=true
19-Jul-2018 13:12:47.171 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms4096M
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx8192M
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
19-Jul-2018 13:12:47.172 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xms512M
19-Jul-2018 13:12:47.173 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xmx1024M
19-Jul-2018 13:12:47.173 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -XX:+UseParallelGC
19-Jul-2018 13:12:47.173 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
19-Jul-2018 13:12:47.176 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/opt/tomcat
19-Jul-2018 13:12:47.176 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/opt/tomcat
19-Jul-2018 13:12:47.177 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/opt/tomcat/temp
我已经尝试了一些检查以确保我没有完全偏离我正在尝试做的事情,方法是将 catalina.sh 脚本调整为 "echo" 一些最终执行命令之前的详细信息。我得到了以下输出,它主要与 catalina 日志相关,但仍然看不到额外参数的来源!!
Catalina Opt:
Java Opt: -Djava.awt.headless=true -Xms4096M -Xmx8192M -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
JDPA Opt:
JSSE Opt: -Djdk.tls.ephemeralDHKeySize=2048
Logging Config: -Djava.util.logging.config.file=/opt/tomcat/conf/logging.properties
Class Path: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
JDK Java Options: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
Run Java: /usr/lib/jvm/java-8-oracle/bin/java
Endorsed Prop: ignore.endorsed.dirs
Catalina Base: /opt/tomcat
Catalina Home: /opt/tomcat
Catalina PID:
有人知道那些额外的 -Xms 和 -Xmx 参数可能来自哪里吗?我已经尝试过,也将 $CATALINA_OPTS 添加到 setenv.sh 文件,但我只是在 catalina.out 日志中出现了第三组 JVM 参数。
好像和下面类似但是没有答案: Tomcat java.lang.OutOfMemoryError: Java heap space
在我的 tomcat 配置中,我配置了以下文件来设置一些系统默认值: /etc/systemd/system/tomcat.服务
其中包含以下行(以及其他行):Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
我没想到配置会在 $CATALINA_HOME.
以外的位置