内存溢出与内存泄漏

OutOfMemoryError: PermGen space


原因:使用了大量的jar包和class,使得装载空间不够

解决方法

增加java虚拟机中的XX:PermSize和XX:MaxPermSize参数的大小,其中XX:PermSize是初始永久保存区域大小,XX:MaxPermSize是最大永久保存区域大小。如针对tomcat6.0,在catalina.sh或catalina.bat文件中一系列环境变量名说明结束处(大约在70行左右) 增加一行:

JAVA_OPTS="

-XX:PermSize=64M -XX:MaxPermSize=128m"


OutOfMemoryError:Java heapspace

原因:

java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关。

解决方法:

1.检查程序,看是否有死循环或不必要地重复创建大量对象。找到原因后,修改程序和算法。

2.增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。

如:set

JAVA_OPTS= -Xms256m -Xmx1024m


OutOfMemoryError:unable to create

new native thread

原因:

多线程的时候容易发生

你可能感兴趣的:(内存溢出与内存泄漏)