`
wangrl
  • 浏览: 152380 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jboss4 java.lang.OutOfMemoryError: PermGen space(jboss 4.2.3.GA)

 
阅读更多

jboss 出现异常:

java.lang.OutOfMemoryError: PermGen space(jboss 4.2.3.GA)

 

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

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 内存来解决这样的问题。

 

最终解决:

1. 如果你是以命令行模式或者直接点击“ run.bat ”来运行 JBoss ,那你就要在 bin/run.bat 文件中对 JVM 选项作修改了,找到 set JAVA_OPTS=% JAVA_OPTS %  这一段,然后在后面加上 -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 。保存就 OK 了。

修改run.bat

if not "%JAVAC_JAR%" == "" set RUNJAR=%JAVAC_JAR%;%RUNJAR%
if "%JBOSS_CLASSPATH%" == "" set RUN_CLASSPATH=%RUNJAR%
if "%RUN_CLASSPATH%" == "" set RUN_CLASSPATH=%JBOSS_CLASSPATH%;%RUNJAR%

set JBOSS_CLASSPATH=%RUN_CLASSPATH%

rem Setup JBoss specific properties
set JAVA_OPTS=%JAVA_OPTS% -Dprogram.name=%PROGNAME%

rem Add -server to the JVM options, if supported
"%JAVA%" -server -version 2>&1 | findstr /I hotspot > nul
if not errorlevel == 1 (set JAVA_OPTS=%JAVA_OPTS% -server)

rem JVM memory allocation pool parameters. Modify as appropriate.
set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=512m


 

2. Eclipse 中运行 Jboss 时,时间太长可能有时候会出现 java.lang.OutOfMemoryError PermGen space 的错误,解决方法:

1.        点击debug图标旁边的小箭头;


2.        点击 ”Debug Configurations…” 菜单项;


3.        选左边的“Generic Server”树下面的“ JBoss v4.2 at localhost ”;

4.  点击右边的“ Arguments Tab 页签,在“ VM arguments ”中添加:-Xms128m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=512m


-Djboss.home=E:"/server/jboss-4.2.3.GA" -Djava.library.path=C:"/Java/jdk1.5.0_22/bin" -Djava.endorsed.dirs=E:"/server/jboss-4.2.3.GA/lib/endorsed" -Xms128m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=512m


分享到:
评论

相关推荐

    jboss-4.2.3.GA_下的jboss-4.2.3.GA_下的

    JBoss AS 4.2.3.GA(Application Server)是Red Hat公司开发的一款开源Java应用服务器,它基于Java EE(Enterprise Edition)5规范,提供了全面的企业级服务,包括EJB(Enterprise JavaBeans)、JMS(Java Message ...

    jboss7.1.1下报java.lang.SecurityException: JCE cannot authenticate the provider BC

    标题中的“jboss7.1.1下报java.lang.SecurityException: JCE cannot authenticate the provider BC”是一个典型的Java安全异常,通常发生在尝试使用不受信任的加密提供者时。在这个问题中,"BC"指的是Bouncy Castle...

    java.lang.NoClassDefFoundError: org/jboss/logging/

    Java编程中的`java.lang.NoClassDefFoundError: org/jboss/logging/`是一个常见的运行时错误,通常发生在尝试执行一个类时,JVM无法找到在编译时已经存在的类定义。这个错误并不意味着类在编译期间不存在,而是表明...

    java.lang.UnsupportedClassVersionError问题的解决方法

    ### java.lang.UnsupportedClassVersionError问题的解决方法 在开发Java应用程序的过程中,经常会遇到与JDK版本不兼容的问题,其中一种常见的异常就是`java.lang.UnsupportedClassVersionError`。该错误通常发生在...

    jboss-4.2.3.GAForJDK5+.zip

    老版本的jboss,4.2.3版本的,支持jdk6,由于文件较老,需要的人下载吧,也可以去官网下载,参考地址:https://sourceforge.net/projects/jboss/files/JBoss/JBoss-4.2.3.GA/

    jboss-4.2.3.GA.zip

    【JBoss 4.2.3.GA】是JBoss Application Server的一个稳定版本,它在2007年发布,提供了全面的企业级Java应用程序部署和支持。这个版本支持J2EE 1.4规范,包括EJB 2.1、JSF 1.1、JPA(Java Persistence API)和Web...

    jboss-4.0.5.GA.zip

    4.0.5.GA版本是JBoss的一个稳定版本,发布于2006年,适用于那些需要可靠且成熟的Java应用程序部署的企业。 JBoss 4.0.5.GA的核心特性包括: 1. **Java EE 5支持**:JBoss 4.0.x系列是基于Java EE 5标准的,提供了...

    JBoss-4.2.3.GA-jdk6.zip

    JBoss-4.2.3.GA-jdk6.zip 是一个包含了JBoss应用服务器的版本4.2.3 GA(General Availability),专为Java Development Kit(JDK)6设计的软件包。JBoss是一个开源的企业级Java应用服务器,它遵循Java EE...

    jboss-4.2.3.GA

    jboss-4.2.3.GA

    jboss-4.2.3.GA.rar

    【JBoss 4.2.3.GA】是一款历史悠久且广泛使用的Java应用服务器,它提供了对J2EE(Java 2 Platform, Enterprise Edition)规范的支持,允许开发人员部署和管理基于Java的应用程序。该版本的JBoss是GA(General ...

    解决 java.lang.NoSuchMethodError的错误

    解决 java.lang.NoSuchMethodError 的错误 Java.lang.NoSuchMethodError 错误是一种常见的 Java 异常,它发生在 Java 虚拟机 (JVM) 无法找到某个类的特定方法时。这种错误可能是由于项目依赖比较复杂、Java 运行...

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

    Maven坐标:org.jboss.logging:jboss-logging:3.4.3.Final; 标签:jboss、logging、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,...

    jboss-exp.rar

    java -jar jboss_exploit_fat.jar -i http://192.168.7.84:10081/invoker/JMXInvokerServlet invoke jboss.admin:service=DeploymentFileRepository store myname.war index .jsp $content$ true -s java.lang....

    jboss-logging.jar,jboss-common.jar

    java.lang.NoSuchMethodError: org.jboss.logging.Logger.getMessageLogger(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object; 错误解决办法

    java.lang.NoClassDefFoundError错误解决办法

    "java.lang.NoClassDefFoundError错误解决办法" java.lang.NoClassDefFoundError错误是一种常见的Java错误,它发生在Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。下面是该错误的解决...

    jbpm-3.2.6.SP1在jboss-4.2.3.GA 链接Oracle

    jbpm-3.2.6.SP1默认安装在jboss-4.2.3.GA下不支持Oracle,对配置文件进行修改,内有详细的文档说明。解压后直接将文件夹jbpm3覆盖到jboss-4.2.3.GA\server\default\deploy\jbpm,注意拷贝oracle的jdbc驱动到jboss-4.2.3...

    jboss-5.1.0.GA 下载地址

    JBoss AS 5.1.0.GA,全称JavaBoss Application Server,是Red Hat公司开发的一款开源且免费的企业级Java应用服务器,基于Java EE(Enterprise Edition)5规范。这个版本发布于2009年,是JBoss AS 5系列的重要里程碑...

Global site tag (gtag.js) - Google Analytics