首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Xmx和Xms Tomcat参数

关于Xmx和Xms Tomcat参数
EN

Server Fault用户
提问于 2017-07-06 07:38:31
回答 1查看 2.7K关注 0票数 0

我使用Tomcat8.0.x和CentOS 7.3。我正在使用systemd启动Tomcat,下面是Unit文件:

代码语言:javascript
复制
# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/jre
Environment=CATALINA_PID=/opt/tomcat/tomcat-instances/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat/tomcat-engine
Environment=CATALINA_BASE=/opt/tomcat/tomcat-instances/
Environment='CATALINA_OPTS=-Xms128M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/tomcat-instances/bin/startup.sh
ExecStop=/opt/tomcat/tomcat-instances/bin/shutdown.sh
#ExecStop=/bin/kill -15 $MAINPID

User=tomcat
Group=tomcat

[Install]
WantedBy=multi-user.target

我们可以看到"Xms128M和-Xmx1024m“

在setenv.sh文件中,我们有以下内容:

代码语言:javascript
复制
export JAVA_OPTS="-Xms256m -Xmx2048m"

所以当我做一个"ps -ef \ grep tomcat“时:

代码语言:javascript
复制
tomcat   14051     1  2 09:06 ?        00:00:50 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/tomcat-instances/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms256m -Xmx2048m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Xms128M -Xmx1024M -server -XX:+UseParallelGC -Djava.endorsed.dirs=/opt/tomcat/tomcat-engine/endorsed -classpath /opt/tomcat/tomcat-engine/bin/bootstrap.jar:/opt/tomcat/tomcat-engine/bin/tomcat-juli.jar -Dcatalina.base=/opt/tomcat/tomcat-instances/ -Dcatalina.home=/opt/tomcat/tomcat-engine -Djava.io.tmpdir=/opt/tomcat/tomcat-instances/temp org.apache.catalina.startup.Bootstrap start

我们可以看到两个值:"-Xms256m -Xmx2048m“和"-Xms128M -Xmx1024M”。

Tomcat使用哪个参数?单位档案还是setenv.sh?配置Xmx的最佳实践是什么?

谢谢,

EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-07-06 09:43:19

在命令行上,最后一个Xmx获胜,在您的示例中,Tomcat进程使用systemd值。

没有设置Xmx和Xms值的“最佳实践”。有一些优化JVM的最佳实践,其中设置正确的内存值是JVM的一部分。但是,要使这些有意义,您必须知道将部署到服务器上的应用程序类型。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/859625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档