关于tomcat总是内存溢出_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 关于tomcat总是内存溢出

关于tomcat总是内存溢出

 2013/12/23 19:09:16  yangtaohong  程序员俱乐部  我要评论(0)
  • 摘要:有一段时间Tomcat总报内存溢出,以防万一忘记这里做下笔记1.将tomcat/bin目录下的catalina.sh文件加上这两行:JAVA_OPTS='-server-Xms512m-Xmx512m-XX:PermSize=32M-XX:MaxNewSize=128m-XX:MaxPermSize=64m-Djava.awt.headless=true'CATALINA_OPTS="-server-Xms256m-Xmx256m"设置一下资源大小。2
  • 标签:Tomcat 内存
有一段时间Tomcat总报内存溢出,以防万一忘记这里做下笔记
1.将tomcat/bin目录下的catalina.sh文件加上这两行:
class="java" name="code">JAVA_OPTS='-server -Xms512m -Xmx512m  -XX:PermSize=32M -XX:MaxNewSize=128m -XX:MaxPermSize=64m -Djava.awt.headless=true'
CATALINA_OPTS="-server -Xms256m -Xmx256m"

设置一下资源大小。
2.如果配了apache的一定要把url转发的转发规则定好,不能全部转发给tomcat去处理。
图片,样式,js等要发给apache去处理:
JkMount /*不能有,有些apache配置了workers.properties的就去掉[uri:/*.jsp]worker=ajp13:localhost:8009
context=/
3.Xms : 应用程序初始化内存大写,注意是你的某一个应用程序,多个应用程序将生成多个JVM实例
-Xmx: 应用程序占用内存的最大值,将不能超过这个值,否则可能导致OutOfMemory.
-XX:NewRatio old generation/new generation 的比例
推荐的-Xms -Xmx设置成一样,,为系统内存的80%.这样,不用每次GC清理完再重新分配.而-XX:NewRatio为2
PermSize为固定存储区域,GC不会对其进行回收,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误,静态static对象/方法/属性和类关联的,不被虚拟机JVM回收,太多的话可能造成这个错误。
4.有些tomcat版本本身就有内存泄漏的问题,5.5.4就有,有时候需要换一下tomcat
发表评论
用户名: 匿名