首页 > 其他 > 详细

tomcat内存溢出

时间:2014-10-12 17:10:59      阅读:283      评论:0      收藏:0      [点我收藏+]

最近在tomcat 上部署工程的时候,发现工程一直起不来,查看日志发现前端送给后台的数据是正常的,后天也返回了数据给前端。

并且前端返回了一个PermGen space 内存不足的错误,然后才发现是tomcat的内存空间不足。

 

tomcat 的内存泄露主要存在三种形式:

 

1.java.lang.OutOfMemoryError:Java heap space  ---JVM Heap(堆)溢出
虚拟机在启动时会自动设置堆得大小,初始化的值时物理内存的1/64
 
2.java.lang.OutOfMemoryError: PermGen space 
PermGen space  指内存的永久保存区域。这块内存主要是存放class 和 meta信息的,Class在被Load的时候放入到PermGen space 区域,它和存放instance的Heap区域不同,sun的GC不会再主程序运行期间对PermGen space 进行清理,所以如果你的APP会载入很多Class的话,就可能会出现PermGen space 溢出的错误。
 
3.java.lang.StackOverflowError --栈溢出
 
栈溢出表示函数调用的层数过多
 
JAVA内存JAVA_OPTS的参数设置说明
JAVA_OPTS="-server -Xms2018m -Xmx2048m -Xss521k"
-server:一定要作为第一个参数,在多个CPU时性能最佳
-Xms:初始Heap大小 使用的最小内存
-Xmx:heap 使用的最大内存
 
-XX:PermSize:设定内存的永久保存区域
-XX:MaxPermSize:设定最大内存的永久保存区域
-Xss 15120 这使得jBoss每增加一个线程就会消耗15M内存
 
 
修改时在tomcat的bin下的catalina.sh中的cygwin=false前面加入
JAVA_OPTS=‘‘-server -Xms512m -Xmx1024m -XX:persize=512m -XX:MaxPermSize=1024m"
 
 
 

tomcat内存溢出

原文:http://www.cnblogs.com/LLeiFeng/p/4020651.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!