JBOSS内存溢出处理

前几天公司一个项目的服务器坏了,就换了一个备份服务器顶替一下,但是没有跑一会就宕机了,一直报java.lang.OutOfMemoryError。。。。一看到这里,就知道是内存溢出,但是JBoss的内存配置已经达到1024M了,而且对JBoss内存的监测结果看,并不高,怎么会死机呢,好奇怪。搞了半天还是没有结果。郁闷~~~~


     到了最后,已经绝望了我,打算换一个JBoss版本,再换一个JDK,看看是不是这些的问题。但是再换以前,我就把日志又重新看了一次,发现一个问题。报的java.lang.OutOfMemoryError后面还有内容:java.lang.OutOfMemoryError: PermGen space,这个好像和java.lang.OutOfMemoryError: Java heap space这个不一样。最后找了一下这个异常!

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。

改正方法,在 run.bat 中加入:-Xms512m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 
因为项目中引用了很多的 jar 包,而这些 jar 包中的 class 信息会被 JBoss 的 class loader 加载到 PermGen space 区域,在 JVM 默认的情况下,该部分空间的大小只有 4M,在 jar 包非常多的情况下,显然是不够用的,所以通过 -XX:MaxPermSize=256m 指定最大值后即可解决问题。

我的JBoss里面装载了6个应用,jar包和class加起来有100m左右,配上这个参数后,一切OK,最后服务器修好以后,发现,这个里面的JBoss也是这么来配置的,哎~~看来以后备份,最好还是吧JBoss一起备份出来吧! 
而当出现出现 java.lang.OutOfMemoryError: Java heap space 这个异常时,通过调节-Xms512m -Xmx1024m这个就可以解决。 
另外,这个两个参数 -XX:+UseParallelGC -XX:+UseParallelOldGC 让服务并行回收内存空间。但是,这两个参数配置上去以后,也会占用一定的内存空间。

转载于:https://www.cnblogs.com/firstdream/p/5521623.html

JBOSS内存溢出处理相关推荐

  1. Tomcat内存溢出解决方法

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

  2. Java内存溢出详解之Tomcat配置

    Java内存溢出详解 转自:http://elf8848.iteye.com/blog/378805 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError ...

  3. Linux下tomcat内存溢出分析及优化

    为什么80%的码农都做不了架构师?>>>    常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.O ...

  4. Java内存溢出详解

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

  5. tomcat java内存_[Tomcat]Java内存溢出详解Tomcat内存设置

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在启 ...

  6. linux查看tomcat启动内存溢出,关于tomcat乱码以及tomcat jvm 内存溢出问题的解决方案和理论-Fun言...

    一:乱码问题1(前端通过url方式传递中文参数后台收到的是????) 此为Tomcat根目录-conif-server.xml 中 connectionTimeout="20000″ red ...

  7. java常见的内存溢出

    Java内存溢出详解 Java Heap分为3个区1.Young 2.Old 3.Permanent 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError ...

  8. Linux 下Tomcat内存溢出解决方式

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在启动的 ...

  9. 深入理解Java虚拟机——第二章——Java内存区域与内存溢出异常

    运行时数据区域 Java虚拟机运行时数据区域 程序计数器 程序计数器可以看做是当前线程所执行的字节码的行号指示器.字节码解释器工作时就是通过改变这个计数器的值来选取下一条所需要执行的字节码指令,分支. ...

最新文章

  1. 2017-05-23 前端日报
  2. 一次expdp 错误的分析处理
  3. 2013年1季度中国汽车品牌口碑研究报告 ——自主A级车
  4. java 增量,Java增量运算符查询(++ i和i ++)
  5. 分布式文件系统—HDFS—入门简介
  6. linux第一季运维001
  7. 机器学习篇-指标:AUC
  8. css background-attachment:fixed 固定背景、不随内容一起滚动
  9. mysql-数据表的定义操作
  10. Codeforces Round #518 (Div. 2): D. Array Without Local Maximums(DP)
  11. classmethod作用
  12. oracle not like优化,Oracle中的like优化
  13. 98 服务器系统,流金岁月:重温Windows 98视窗操作系统
  14. 【游戏开发】游戏开发书籍汇总
  15. 计算机类专业要求高中选课,高一选课|12个学科门类、94个专业大类选课要求和招生人数分析...
  16. Kubernetes (K8s)安装部署过程(一)之证书安装
  17. Windows程序设计之WinAPI详解程序
  18. shell脚本中的 EOF 是什么意思?
  19. Android安装同应用不同版本,android一个应用如何在一个手机上装多个不同版本的方法...
  20. ASP.NET编写一个简易网站

热门文章

  1. php文件上传漏洞waf,文件上传绕过WAF
  2. linux双显卡配置_Linux系统怎么配置双显卡?
  3. APP 文档服务器,app服务器
  4. php 静态方法 call,php的 __callStatic 函数
  5. java随机姓名_Java生成随机姓名、性别和年龄的实现示例
  6. 用c语言计算sin x 的值,用泰勒公式求sin(x)的近似值
  7. 工业交换机在工业通信领域的应用分析
  8. 光端机和收发器的区别有哪些?
  9. 【渝粤教育】国家开放大学2018年秋季 2604T城市轨道交通行车组织 参考试题
  10. [渝粤教育] 中国地质大学 企业文化建设与管理 复习题