Linux中tomcat内存溢出解决办法

原创
2017/06/12 18:15
阅读数 1.5K

通过多项目部署测试环境报出OutOfMemoryError: PermGen space错误,结合资料.对标题问题作出的解决办法:

常见的一般会有下面三种情况: 
1.OutOfMemoryError: Java heap space 
2.OutOfMemoryError: PermGen space 
3.OutOfMemoryError: unable to create new native thread. 
前两种通常一起进行操作,也就是通过下面的

================================
linux下在catalina.sh文件最前面加入如下语句,这个文件在tomcat -->bin目录下。

JAVA_OPTS='-Xms1024m -Xmx1024m -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m'

=============================================================

1. 内存溢出: Java.lang.OutOfMemoryError:PermGen space

后台日志:

 

2. 查看内存 free –m,详见http://www.cnblogs.com/rosesmall/archive/2012/05/08/2490522.html

3. 空闲内存=free+buffers+cached=total-used

4. 查看后台zebra项目的tomcat内存:

cat /opt/zebra/tomcat/bin/catalina.sh,查看以下内容:

export JAVA_OPTS="-Dwebapp=zebra.tomcat-Dfile.encoding=GB18030 -Xmx4096m -Xms1024m -Djava.awt.headless=true"

当-Xmx1024m中的值大于free –m 查看到的系统实际空闲内存时,出现内存溢出错误。需要修改-Xmx1024m中的值,使其小于实际空闲内存。

查看系统最大支持内存命令:java -Xmx1024m –version

查看系统初始化内存大学:java –Xms 512m –version

JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】'

需要把这个两个参数值调大。例如:

JAVA_OPTS='-Xms256m -Xmx512m'

表示初始化内存为256MB,可以使用的最大内存为512MB。

windows版本下类似,在文件/bin/catalina.bat里追加即可。

展开阅读全文
打赏
0
0 收藏
分享

作者的其它热门文章

加载中
更多评论
打赏
0 评论
0 收藏
0
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部