在catalina.bat文件中增加堆大小的最佳方法

时间:2012-09-23 14:53:41

标签: tomcat memory memory-leaks tomcat6 heap-size

我在windows xp上有tomcat 6服务器,我通过console启动tomcat,即使用startup.bat。

AFAIK catalina.bat文件用于Windows,因此我正在更改bat文件以进行内存管理。我没有tomcat配置窗口。

现在我想增加它的堆大小所以我的问题是我应该扩展catalina.bat文件中的现有JAVA_OPTS,即。

set JAVA_OPTS=%JAVA_OPTS% -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties" -Xms1024m -Xmx1024m -XX:PermSize=256m  -XX:MaxPermSize=128m  

或者我应该在catalina.bat文件中创建新的环境变量,即

set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=256m  -XX:MaxPermSize=128m 

这是正确的方法吗?

请指导。

我可以在Probe中查看当前的堆大小,但是无法查看现有的perm大小,因此perm大小的默认值是什么?

编辑:

以下参数有帮助吗?

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

2 个答案:

答案 0 :(得分:25)

如果您查看安装的bin目录,您将看到catalina.sh或.bat脚本。如果查看这些内容,您将看到它们分别运行setenv.sh或setenv.bat脚本(如果存在)来设置环境变量。相关的环境变量在catalina.sh/bat顶部的注释中描述。要使用它们,例如,创建一个包含内容的文件$ CATALINA_HOME / bin / setenv.sh

export JAVA_OPTS="-server -Xmx512m"

对于Windows,您需要在setenv.bat中使用类似

的内容
set JAVA_OPTS=-server -Xmx768m

原始答案here

运行startup.bat后,您可以轻松确认已应用了正确的设置,只要您在@echo文件的某个位置转了catatlina.bat(好的地方可能会在echo Using CLASSPATH: "%CLASSPATH%"之后{1}}):

enter image description here

答案 1 :(得分:7)

增加tomcat的堆大小为窗口在apache-tomcat-7.0.42 \ bin中添加此文件

enter image description here

堆大小可以根据需求进行更改。

  set JAVA_OPTS=-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m