后台常见的错误

JVM调优总结

java.lang.OutOfMemoryError:PermGen space 持久代被占满
大量的反射不断的被类里加载,最终导致perm区域占满;
解决:

  • -XX:MaxPermSize =16m
  • 换用JDK。比如Jrocket

java.lang.StackOverflowError 堆栈溢出

  • 一般就是递归没有返回,或者循环调用造成的

Fatal:Stack size too small 线程堆栈满

  • 说明 : java中一个线程的空间大小室友限制的。jdk5.0以后这个值是1M。与这个线程相关的数据将会保存在其中。但是当线程空间满了以后,将会出现上面异常。
  • 解决:增加线程栈大小。 -Xss2m。但这个配置无法解决根本问题,还要看代码部分是否有造成泄漏的部分。

java.lang.OutOfMemoryError:unable to create new native thread 系统内存被占满

  • 这个异常是由于操作系统没有足够的资源来产生这个线程造成的。系统创建线程时,除了要在java堆中分配内存外,操作系统本身也需要分配资源来创建线程。因此,当线程数量大到一定程度以后,堆中或许还有空间,但是操作系统分配不出资源来了,就会出现这个异常。

你可能感兴趣的:(后台常见的错误)