您的位置:首页 > 运维架构 > Tomcat

tomcat内存调试

2015-09-06 16:03 459 查看
tomcat在不同的硬件设备上,其默认的配置往往不满足实际需求,经常出现例如:tomcat服务无法正常重启,需要在任务管理器中关闭进程才能重启、tomcat项目卡死,自动部署时异常失败。这时如果使用脚本启动,会从命令行里看到内存异常报警(以上三种情况均实际遇到过,所以罗列出来)。这种情况下,就需要对tomcat的虚拟内存进行调试了;

1. JVM内存分配设置的参数有四个: 

-Xmx    Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定; 

-Xms    Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值; 

-Xmn    Java Heap Young区大小,不熟悉最好保留默认值; 

-Xss    每个线程的Stack大小,不熟悉最好保留默认值; 

-XX:PermSize:表示非堆区初始内存分配大小,其缩写为permanent size(持久化内存)
-XX:MaxPermSize:表示对非堆区分配的内存的最大上限。

2、当使用脚本启动时,打开tomcat\bin\catalina.bat文件,在set
JAVA_OPTS=%JAVA_OPTS%加上所定义的内存设置;如下图

(此处网上查询的结果基本上都只设置了-Xms和-Xmx,经实际启动仍会报内存溢出,此处需要加上-XX:Permsize的定义才行)



3、当使用服务的时候,需要在注册表里进行修改,64位的注册表位置如下:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache
Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options,32位的注册表位置如下:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat7\Parameters\Java\Options,添加对内存的设置:

-Xms、-Xmx需要在如下选项中调整:

-Xms128M

-Xmx1024M

此文档待继续完善;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  toncat内存调试