内存溢出与内存泄漏

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

原因:

多线程的时候容易发生

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容