常見的一般會有下面三種情況: 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里追加即可。 |
|