Java 内存溢出问题总结

1. Java heap space

->   超大对象,  通常是大数组 (查询结果过大, 没有限制就放入数组);

->   内存泄漏,  资源没有回收;

解决:   -Xmx 参数调高 JVM 堆内存空间,    限流,    做好资源回收;

2. Permgen space  or   Metaspace

原因:  class数量过多;         解决:    -XX:MaxPermSize     -XX:MaxMetaspaceSize

3.  Unable to create new native thread

原因:  java创建的线程数 超过操作系统的线程总数;     解决:   -Xss 参数减少线程栈的大小    or    ulimit -u xxx 调整最大线程数限制

原文地址:https://www.cnblogs.com/ruili07/p/11315380.html