Tomcat内存溢,出设置JAVA_OPTS

8 篇文章 0 订阅
7 篇文章 0 订阅
设置Tomcat启动的初始内存
其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可
进行设置
三、实例,以下给出1G内存环境下java jvm 的参数设置参考:
JAVA_OPTS="-server -Xms800m -Xmx800m  -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:
NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m

-XX:NewSize=192m -XX:MaxNewSize=384m"

Linux系统:
在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh
添加:JAVA_OPTS='-Xms512m -Xmx1024m'
要加“m”说明是MB,否则就是KB了,在启动tomcat时会 报内存不足。
-Xms:初始值
-Xmx:最大值

-Xmn:最小值

Windows系统:
在catalina.bat最前面加入
set JAVA_OPTS=-Xms512m -Xmx1024m
如果用startup.bat启动tomcat,OK设置生效.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用...
原因就是:windows服务执行的是bin\tomcat7.exe.他读取注册表中的值,而不是catalina.bat的设置.

我的解决思路是修改Tomcat服务设置的启动参数,具体如下:

1.停止Tomcat服务

运行命令:sc stop Tomcat

2.卸载Tomcat服务

运行命令:sc delete Tomcat

3. 修改service.bat文件

    在第一行前面加入下面的语句:

    SET CATALINA_HOME=%自己的Tomcat路径% (例:C:\Program Files\Tomcat\apache-tomcat-7.0.64)

    SET SERVICE_NAME=Tomcat (服务的名字,在命令行中通过该名字进行服务的控制(启动/关闭))

    SET PR_DISPLAYNAME=Tomcat (服务的显示名称,即在服务管理器中显示的名称.)                                                  

    --JvmMs 512 ^     (根据自己服务器的情况设置)

    --JvmMx 1024     (根据自己服务器的情况设置)

4.  安装Tomcat服务

    在DOS命令界面,进入Tomcat的bin目录下:

    cd C:\Program Files\Tomcat\apache-tomcat-7.0.64\bin

    安装名称为Tomcat的服务:

    运行命令:service.bat install Tomcat

    如果安装成功,会提示:The service 'tomcatServer' has been installed

5. 设置Tomcat服务自动启动

     运行services.msc命令,找到名为tomcatServer的服务,将启动类型设置为自动

6. 重起Tomcat服务,设置生效


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值