2010-04-27 79 views
21

我在小型VPS(256MB/512MB)上运行Tomcat,并且我想显式限制Tomcat使用的内存量。Tomcat - 如何限制Tomcat将使用的最大内存

我知道我可以通过传递java最大堆和初始堆大小参数来以某种方式进行配置;

-Xmx256m 
-Xms128m 

但我找不到在Ubuntu上配置Tomcat 6的位置。

由于提前,

GAV株系

回答

15

设置JAVA_OPTS在你的初始化脚本,

export JAVA_OPTS="-Djava.awt.headless=true -server -Xms48m -Xmx1024M -XX:MaxPermSize=512m" 
+0

'-Djava.awt.headless = true'做什么? – danben 2010-04-27 20:32:52

+0

防止异常是否有一些较旧的应用程序呈现图形http://java.sun.com/developer/technicalArticles/J2SE/Desktop/headless/ – stacker 2010-04-27 20:36:52

+1

并且-server优化以便在服务器上运行? – gav 2010-04-27 20:42:22

1

您可以在bin/catalina.sh启动脚本中添加此到JAVA_OPTS变量。

JAVA_OPTS="-Xms128m -Xmx256m"

+4

如果你这样做了,下次更新Tomcat包时,你的设置将会丢失。 – youri 2013-07-15 15:39:56

+0

@youri是正确的。这就是为什么您最好保留一个预配置的vanilla tomcat服务器的独立副本,您只需为每个项目克隆 – 2015-11-27 07:22:17

+1

“bin/catalina.sh”中的注释建议将环境变量更改存储在“ $ CATALINA_HOME/bin中/ setenv.sh”。 – sunil 2017-01-23 11:32:53

24

在Ubuntu上,定制Tomcat的变量正确的方法是通过编辑文件

/etc/default/tomcat5.5 

(或/etc/default/tomcat6如果您有更新的版本运行)

在这个文件中,如在其它答复例如

JAVA_OPTS="-Xmx512m"

这里, 描述设置的512 MB的最大存储器设置JAVA_OPTS变量。

+2

tomcat7是一样的。 – Adam 2014-05-30 17:26:42