- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
tomcat内存参数配置
问题:tomcat部署项目,内存溢出
一、tomcat内存溢出
设置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
1、Linux:
在/usr/local/apache-tomcat-5.5.23/bin 目录下的catalina.sh
添加:JAVA_OPTS=-Xms512m -Xmx1024m
要加“m”说明是MB,否则就是KB了,在启动tomcat时会 报内存不足。
-Xms:初始值
-Xmx:最大值
-Xmn:最小值
2、Windows
在catalina.bat最前面加入
set JAVA_OPTS=-Xms128m -Xmx350m
如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.
但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,
就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..
windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.
解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值为
-Dcatalina.home=C:\ApacheGroup\Tomcat 5.0
-Djava.endorsed.dirs=C:\ApacheGroup\Tomcat 5.0\common\endorsed
-Xrs
加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效
3、(1)java.lang.OutOfMemoryError: PermGen space
原因:
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是
被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例
(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space
进行清理,所以如果你的应用中有很CLASS的话,就很可能出现PermGen space错误,这种错误
常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar,
其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。
解决方法:
1. 手动设置MaxPermSize大小
修改TOMCAT_HOME/bin/catalina.bat(Linux下为catalina.sh),在Java代码
“echo Using CATALINA_BASE: $CATALINA_BASE”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
“echo Using CATALINA_BASE: $CATALINA_BASE”上面加入以下行:
set JAVA_OPTS=%JAVA_OPTS% -server -XX:PermSize=128M -XX:MaxPermSize=512m
catalina.sh下为:
Java代码
JAVA_OPTS=$JAVA_OP
您可能关注的文档
- A(暖通管道安装).doc
- ACLS Algorithm CN急救医学.doc
- 8楼临时用电施工方案.doc
- access查询-笔试要点背诵手册.doc
- AC跨NAT组网.docx
- Application详解与用法.docx
- ASTMB117-2011盐雾试验标准中文-9ebe61f2b14e852458fb5797.docx
- ADServer升级到2008.docx
- B2集水坑电梯井降水施工方案MicrosoftWord.doc
- BEC 中级key points.docx
- 公路中介合同范例.docx
- 2025-2030中国地铁交通行业市场发展前瞻及投资战略研究报告.docx
- 2025-2030中国地铁屏蔽门系统市场深度调研及发展态势展望报告.docx
- 2025-2030中国地铁巡检机器人行业研发创新与市场趋势前景研究报告.docx
- 2025-2030中国地铁广告行业现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030中国地铁建设行业市场现状供需分析及重点企业投资评估规划分析研究报告.docx
- 2025年日新(天津)塑胶有限公司校园招聘85人公开引进高层次人才和急需紧缺人才笔试参考题库答案详解.docx
- 2025-2030中国地铁产业前景研发创新与未来投资风险预警报告.docx
- 2025-2030中国地理空间解决方案行业市场发展趋势与前景展望战略研究报告.docx
- 2025-2030中国地砖行业供需趋势及投资风险研究报告.docx
文档评论(0)