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

Edw*_*ard 10 memory tomcat memory-leaks tomcat6 heap-size

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

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

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

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  
Run Code Online (Sandbox Code Playgroud)

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

set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=256m  -XX:MaxPermSize=128m 
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?

请指导.

我能够在Probe中看到当前的堆大小,但是无法查看现有的perm大小,因此perm大小的默认值是多少?

编辑:

以下参数有帮助吗?

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled
Run Code Online (Sandbox Code Playgroud)

RGO*_*RGO 25

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

export JAVA_OPTS="-server -Xmx512m"
Run Code Online (Sandbox Code Playgroud)

对于Windows,你需要在setenv.bat中使用类似的东西

set JAVA_OPTS=-server -Xmx768m
Run Code Online (Sandbox Code Playgroud)

原来答案在这里

运行后startup.bat,您可以轻松确认已经应用了正确的设置,前提是您已@echocatatlina.bat文件中的某个位置打开(一个好地方可能会立即执行echo Using CLASSPATH: "%CLASSPATH%"):

在此输入图像描述

  • 请注意Tomcat文档(http://tomcat.apache.org/tomcat-7.0-doc/RUNNING.txt):"_ _注意:不要使用JAVA_OPTS来指定内存限制.对于一个小进程,你不需要太多内存用于停止Tomcat.这些设置属于CATALINA_OPTS .__" (7认同)

abh*_*sia 7

增加tomcat for heap的堆大小在apache-tomcat-7.0.42\bin中添加此文件

在此输入图像描述

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

  set JAVA_OPTS=-Dfile.encoding=UTF-8 -Xms128m -Xmx1024m -XX:PermSize=64m -XX:MaxPermSize=256m
Run Code Online (Sandbox Code Playgroud)