Tomcat 内存设置

Tomcat 可用内存 的大小影响其工作性能,将出现 java.lang.OutOfMemoryError: Java heap space 等异常,从而导致客户端显示500错误。通过调整 Tomcat 的内存设置,可以解决此问题。

Tomcat 在 Windows 下的启动方式有两种:startup.bat 和 Windows服务。这两种方式对应的内存设置方法也不一样。

1、startup.bat

在 Tomcat 安装目录的bin文件夹下,找到catalina.bat文件,在最上面添加这样一句:

set JAVA_OPTS = -Xms256m -Xmx512m

这样JVM内存已经被改到最小 256 MB、最大 512 MB

重新执行 startup.bat  启动Tomcat 即可。

2、Windows服务

通过服务启动的 Tomcat,修改catalina.bat的方法不起作用。需修改注册表

打开注册表,查找 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\MyTomcatService\Parameters\Java,其中MyTomcatService是你的Tomcat服务名,修改 JvmMS 和 JvmMX 的值,注意值的数制。

也可以运行 tomcat5w.exe //ES//MyTomcatService,打开Tomcat服务管理器,选择Java选项卡,修改

Initial memory pool(初始化设置的内存的大小)和
Maximum memory pool(最大内存的大小)

Tomcat 6对应是tomcat6w.exe。

重新启动Tomcat服务即可使 Tomcat 按新的内存设置工作。

 

注一,在Linux下,

修改“%TOMCAT_HOME%\bin\catalina.sh”文件,如 /usr/local/apache-tomcat-5.5.23/bin目录下的catalina.sh 
添加:JAVA_OPTS='-Xms512m -Xmx1024m' 
数字后面的“m”表示内存单位是MB,否则是KB。 
-Xms:初始值 
-Xmx:最大值 
-Xmn:最小值


注二,可在程序中,用下列代码来查JVM内存情况

System.out.println("TotalMemory :::: " + (Runtime.getRuntime().totalMemory()/(1024*1024) + "M"));  
System.out.println("Max Memory :::: " + (Runtime.getRuntime().maxMemory()/(1024*1024) + "M"));  
System.out.println("Free Memory :::: " + (Runtime.getRuntime().freeMemory()/(1024*1024) + "M")); 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值