tomcat内存调试

来源:互联网 发布:党员教师知敬畏明底线 编辑:程序博客网 时间:2024/04/28 04:02

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

此文档待继续完善;

0 0