Page tree
Skip to end of metadata
Go to start of metadata

1、问题说明

我们在安装部署tomcat的时候,经常需要修改tomcat的启动参数,很多人习惯于直接修改tomcat/bin目录下的 catalina.bat/catalina.sh 文件(或是 startup.bat/startup.sh 文件)。这种方式是不合理的,因为很多时候,我们修改的位置可能不对,造成配置的参数不生效。另外,我们修改之后,过一段时间其他人再接手维护,可能根本不知道修改了哪些地方。

为解决这个问题,我们建议使用tomcat推荐的方法,创建一个新的setenv.bat/setenv.sh文件,来配置tomcat的启动参数。请参考如下步骤。

#!/bin/sh
# catalina.sh
# -----------------------------------------------------------------------------
# Control Script for the CATALINA Server
#
# Environment Variable Prerequisites
#
# Do not set the variables in this script. Instead put them into a script
# setenv.sh in CATALINA_BASE/bin to keep your customizations separate.
#
# -----------------------------------------------------------------------------

2、设置方法

对于Windows系统和Linux系统设置方法不同,分别说明如下。

2.1 Windows系统

1、本地创建一个文本文件,另存为setenv.bat 文件,其内容如下。

set "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_51"
set "JRE_HOME=C:\Program Files\Java\jdk1.8.0_51\jre"
set "CATALINA_HOME=d:\smartbi\tomcat"
set "JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=GBK -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms8192m -Xmx8192m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError"

2、把该文件setenv.bat,上传到tomcat/bin目录下即可。

2.2 Linux/Unix系统

1、本地创建一个文本文件,另存为setenv.sh 文件,其内容如下。

export JAVA_HOME="/data/smartbi/jdk1.8.0_45"
export JRE_HOME="/data/smartbi/jdk1.8.0_45/jre"
export CATALINA_HOME="/opt/smartbi/tomcat"
export JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=GBK -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms8192m -Xmx8192m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError"

     建议直接在Linux服务器上生成并配置setenv.sh,如果是windows环境下修改配置,建议直接下载我们的setenv.sh,然后进行修改(修改不能换行),最后可以用notepad++工具查看文本格式是不是Linux的格式:

      

2、把该文件setenv.sh,上传到tomcat/bin目录下。

3、上传到tomcat/bin目录下的setenv.sh文件是文本文件,需要赋予其“执行”权限,请执行如下命令。

chmod +x setenv.sh


3、注意事项

如果使用的 jdk 是 1.8 版本,请注意修改内存参数。

在 HotSpot jdk 1.8 版本中,已经删除了 -XX:MaxPermSize 参数,可以使用 -XX:MaxMetaspaceSize 代替它。

具体说明,请参考:Java8内存模型—永久代(PermGen)和元空间(Metaspace)

export JAVA_OPTS="$JAVA_OPTS -Xms8192m -Xmx8192m -XX:MaxMetaspaceSize=512m"
  • No labels