OutOfMemoryError:PermGen space
原因:程序中使用了大量的jar或class,使java虚拟机装载类的空间不够,与Permanent Generation space有关。
解决方法:
增加java虚拟机中的XX:PermSize和XX:MaxPermSize参数的大小,其中XX:PermSize是初始永久保存区域大小,XX:MaxPermSize是最大永久保存区域大小。
对于tomcat来说,在catalina.sh 或catalina.bat文件中一系列环境变量名说明结束处增加如下内容:
JAVA_OPTS="-XX:PermSize=128m -XX:MaxPermSize=256m"
IDEA tomcat启动报错解决方法
VM options:-Xms258m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m
OutOfMemoryError:Java heap space
原因:java虚拟机创建的对象太多,在进行垃圾回收之间,虚拟机分配的到堆内存空间已经用满了,与Heap space有关。
解决方法:
- 检查程序,看是否有死循环或不必要地重复创建大量对象。找到原因后,修改程序和算法。
- 增加Java虚拟机中Xms(初始堆大小)和Xmx(最大堆大小)参数的大小。如:set JAVA_OPTS= -Xms256m -Xmx1024m
OutOfMemoryError:unable to create new native thread
原因:在Java线程个数很多的情况下容易发生。
解决方法:检查程序线程方面是否处理有误。
博客已迁移,欢迎关注 最新博客