`
enica
  • 浏览: 68770 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

JBoss deploy 出现 OutOfMemoryError : PermGen space

    博客分类:
  • J2EE
阅读更多
最近在把在 tomcat 5.5 上开发的项目 deploy 到 JBoss 4.2 上时,在操作一段时间就会出现 java.lang.OutOfMemoryError: PermGen space,开始以为是代码中存在死循环的地方造成这样的问题,但是后来发现,出问题的地方都是随机的,并不是某一处造成这样的问题出现,怀疑是内存泄露,通过增大 heap 内存的方法来尝试,依然不行,但是同样的问题却并没有在 tomcat 中出现过,难道是 JBoss 的问题?

在网上做了一番搜索得到一些相关的内容。

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen 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 中加入:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

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

另外,如果 heap 内存不足出现 java.lang.OutOfMemoryError: Java heap space 时,可以通过 -Xmx512m 指定最大 heap 内存来解决这样的问题。
分享到:
评论

相关推荐

    JBOSS\Tomcat最大连接数配置和jvm内存配置.docx

    JBOSS\Tomcat最大连接数配置和jvm内存配置,解决内存溢出问题 Java中OutOfMemoryError(内存溢出)的情况 第一种OutOfMemoryError: PermGen space 第二种OutOfMemoryError: Java heap space

    JBossTools实践系列:JBossESB服务开发入门

    JBossTools实践系列:JBossESB服务开发入门

    jboss-logging-3.4.1.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.1.Final.jar; 赠送原API文档:jboss-logging-3.4.1.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.1.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.1.Final....

    jboss-logging-3.3.2.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.3.2.Final.jar; 赠送原API文档:jboss-logging-3.3.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.3.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.3.2.Final....

    jboss-logging-3.4.3.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.3.Final.jar; 赠送原API文档:jboss-logging-3.4.3.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.3.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.3.Final....

    jboss-logging-3.4.2.Final-API文档-中文版.zip

    赠送jar包:jboss-logging-3.4.2.Final.jar; 赠送原API文档:jboss-logging-3.4.2.Final-javadoc.jar; 赠送源代码:jboss-logging-3.4.2.Final-sources.jar; 赠送Maven依赖信息文件:jboss-logging-3.4.2.Final....

    jboss-exp.rar

    5.远程删除文件D:\jboss\server\default\deploy\management\myname.war\index.jsp文件 java -jar jboss_exploit_fat.jar -i ...

    JBoss in Action: Configuring the JBoss Application Server

    JBoss in Action: Configuring the JBoss Application Server Publisher: Manning Publications | 2009-01-28 | ISBN: 1933988029 | PDF | 6,58 MB JBoss in Action is the first book to focus on teaching ...

    java抓取网页部分源码-jbosstools-vpe:JBoss工具::可视化页面编辑器{vpe}

    java网页抓取部分源码JBoss 工具可视化页面编辑项目 概括 Visual Page Editing 提供了一个编辑器,它具有基于 XML 的文档的源代码和可视化预览,它还包含 BrowserSimulator,用于像移动浏览器一样编辑/查看您的项目...

    jboss_exploit_fat

    5.远程删除文件D:\jboss\server\default\deploy\management\myname.war\index.jsp文件 java -jar jboss_exploit_fat.jar -i ...

    java8看不到源码-jboss-parent-pom:JBoss父POM

    JBoss 父 POM JBoss 社区项目的父级 Maven POM。 它是什么? JBoss 父 POM 为 Maven 构建提供默认配置。 最常用的 Maven 插件的推荐/默认版本 jar 和程序集插件的清单配置 用于生成源 jar 和强制执行最低版本的 Java...

    jbosstools-hibernate:JBoss工具

    Hibernate Eclipse Tools是一部分,可以从中单独或与完整的JBoss Tools发行版一起。 获取代码 开始编写代码的最简单方法是 ,然后克隆fork: $ git clone git@github.com:<you>/jbosstools-hibernate.git $ cd ...

    maven-jboss-deploy-plugin-1.6-sources.jar

    maven-jboss-deploy-plugin-1.6-sources.jar

    JBoss at Work: A Practical Guide

    JBoss at Work: A Practical Guide

    Manning JBoss in Action: Configuring the JBoss Application Server

    JBoss in Action is the first book to focus on teaching readers in detail how to use the JBoss application server. Unlike other titles about JBoss, the authors of JBoss in Action go deeper into the ...

    jbosstools-json:JBoss 工具的 JSON 工具

    JBoss 工具的 JSON 工具这个存储库包含一个基于 Xtext 的 JSON 文件编辑器,它需要额外的更新站点到当前的目标平台: (包括所需软件)已知的问题语法着色不起作用(不知道为什么)应该改进大纲树。 例如,具有以下...

    jboss-logging-3.3 Final jar

    jboss-logging-3.3 Final jar 架包! 

    jboss xml漏洞exp

    5.远程删除文件D:\jboss\server\default\deploy\management\myname.war\index.jsp文件 java -jar jboss_exploit_fat.jar -i ...

    jbosstools-browsersim:JBoss工具

    JBoss工具浏览器模拟器项目 概括 是一个移动Web浏览器模拟器。 注意:该项目已弃用,将来可能会从JBoss Tools中删除。 它主要用于以一种快速,简便和多平台的方式测试webapp /网站是否可以在移动设备上正确呈现。 ...

    jbosstools-aerogear:JBoss工具

    JBoss Aerogear工具项目 概括 JBoss Aerogear Tools包含用于跨平台移动开发的工具。 注意:该项目已弃用,将来可能会从JBoss Tools中删除。 该项目提供用于混合移动应用程序开发的工具。 Cordova工具提供了基于...

Global site tag (gtag.js) - Google Analytics