页面树结构
转至元数据结尾
转至元数据起始

问题说明

我们在安装部署 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.

#

# -----------------------------------------------------------------------------

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

Windows系统

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

set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_51"
set "JRE_HOME=C:\Program Files\Java\jdk1.7.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:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError"

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

若注册为后台服务,修改参数请参考 修改Java内存

Linux/Unix系统

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

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

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

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

chmod +x setenv.sh

注意事项

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

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

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

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