后台常见的错误

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堆中分配内存外,操作系统本身也需要分配资源来创建线程。因此,当线程数量大到一定程度以后,堆中或许还有空间,但是操作系统分配不出资源来了,就会出现这个异常。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 介绍JVM中7个区域,然后把每个区域可能造成内存的溢出的情况说明 程序计数器:看做当前线程所执行的字节码行号指示器...
    jemmm阅读 2,270评论 0 9
  • 1.数据类型 java虚拟机中,数据类型可以分为两类:基本类型和引用类型。 基本类型的变量保存原始值,即:它代表的...
    阔阔飞翔阅读 412评论 0 0
  • 所有知识点已整理成app app下载地址 J2EE 部分: 1.Switch能否用string做参数? 在 Jav...
    侯蛋蛋_阅读 2,583评论 1 4
  • 转自Java内存溢出(OOM)异常完全指南 我的职业生涯中见过数以千计的内存溢出异常均与下文中的8种情况相关。本文...
    SunnyMore阅读 2,024评论 0 17
  • 本文介绍了在性能测试过程中Java进程消耗CPU过高的问题排查方法、线程死锁问题排查方法和内存泄露的排查方法 Ja...
    测试开发Kevin阅读 473评论 0 9