关于经常遇到的tomcat内存溢出问题

最近在开发SSH项目的时候经常遇到tomcat内存溢出的问题,所以总结一下解决的方法。
tomcat内存溢出一般有三种情况:
1.OutOfMemoryError: Java heap space
2.OutOfMemoryError: PermGen space
3.OutOfMemoryError: unable to create new native thread.
我最近经常遇到的是第二种情况,永久保存区域溢出,PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。
遇到这种问题很大可能是因为ssh框架会动态class,而且jvm的gc是不会清理PemGen space的,导致内存溢出。这一个一般是加大-XX:PermSize -XX:MaxPermSize 来解决问题。
 -Xms512M -Xmx1024M -XX:PermSize=512m -XX:MaxPermSize=1024m

 如下图关于经常遇到的tomcat内存溢出问题


第一种情况是堆溢出,第三种是无法创建新的线程,这两种现象都比较少,比较特殊,与jvm、系统内存有关系。


铸剑团队签名:

【总监】十二春秋之,[email protected]

【Master】戈稻不苍,[email protected]

【Java开发】雨鸶,[email protected]思齐骏惠,[email protected]小王子,[email protected];巡山小钻风,[email protected]

【VS开发】豆点,[email protected]

【系统测试】土镜问道,[email protected];尘子与自由,[email protected]

【大数据】沙漠绿洲,[email protected];张三省,[email protected]

【网络】夜孤星,[email protected]

【系统运营】三石头,[email protected];平凡怪咖,[email protected]

【容灾备份】秋天的雨,[email protected]

【安全】保密,你懂的。

原创作者:思齐骏惠

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。