JBoss deploy 出现 OutOfMemoryError : PermGen space

2024-02-06 23:32

本文主要是介绍JBoss deploy 出现 OutOfMemoryError : PermGen space,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.blogjava.net/steady/archive/2007/06/17/124830.html
JBoss deploy 出现 OutOfMemoryError : PermGen space

最近在把在 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 deploy 出现 OutOfMemoryError : PermGen space的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/685874

相关文章

为什么From/To space的大小几乎变成 0 了呢?

文章来源 https://hllvm-group.iteye.com/group/topic/39440 一、问题描述 Attaching to process ID 26424, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.231-b11usi

Ceph-deploy搭建ceph集群

Ceph介绍及安装 一、Ceph介绍1.1 ceph说明1.2 Ceph架构1.3 Ceph逻辑组织架构1.3.1 Pool1.3.2 PG1.3.3 PGP 二、部署Ceph集群2.1 部署方式:2.2 服务器准备`monitor、mgr、radosgw`:`MDS`(相对配置更高一个等级)`OSD节点 CPU`:`OSD 节点内存`: 2.3 部署环境**2.3.1、四台服务器作

myeclipse中deploy按钮以及manage deployments按钮无效

如果你使用的是10.7版本,可参考本文 出错: 1.Deployments 部署按钮失效; 2.MyEclipse 启动后初始化WorkSpaces抛出Deployment的空指针异常(java.lang.NullPointerException) 3.Servers选项卡中有相关异常信息如下: at com.genuitec.eclipse.ast.deploy.core.De

JBoss中发布EJB 并编写Client

第一步:编写EJB服务端 项目名 appName= ejbserver public interface Handler {     public String say(String name); } @Remote(Handler.class) @Stateless //无状态bean public class HandlerBean implements Handler {     @Ov

MyEclipse中Jboss启动出现Java heap space解决方案

转 http://cst.is-programmer.com/posts/16109.html 在MyEclipse中启动JBOSS,结果报: java.lang.OutOfMemoryError: Java heap space 异常,用jboss中的run.bat启动,则正常运行,而在MyEclipse中启动就报异常,百度之~~得解: 原因是对于很大的Web工程(公司的这个平台

JBoss AS 7.1.1.Final 安装

JBoss AS 7.1.1.Final下载地址:http://download.jboss.org/jbossas/7.1/jboss-as-7.1.1.Final/jboss-as-7.1.1.Final.zip localhost:9990/console 用户root 密码 1234 安装参考:http://my.oschina.net/thinker4self/blog/273527

报错:java.lang.OutOfMemoryError: Java heap space

该报错原因是内在不足,设置方法,打开tomcat设置页面,点击open launch configuration,打开配置窗口,在变量参数中加入空格后输入: -Xms512m -Xmx512m -XX:PermSize=512m -XX:MaxPermSize=512m

大数据系列之:OutOfMemoryError: unable to create new native thread

大数据系列之:OutOfMemoryError: unable to create new native thread 问题:环境:原因:解决 问题: 有时候当Java尝试创建一个新的线程时,操作系统会阻止它。在这种情况下,会出现以下错误: java.lang.OutOfMemoryError: unable to create a new native thread 环境:

OpenAI Gym custom environment: Discrete observation space with real values

题意:OpenAI Gym 自定义环境:具有实数值的离散观测空间 问题背景: I would like to create custom openai gym environment that has discrete state space, but with float values. To be more precise, it should be a range of valu

OutOfMemoryError

文章目录 堆溢出虚拟机栈和本地方法栈溢出方法区和运行时常量池溢出本机直接内存溢出 Java虚拟机规范的描述中,除了程序计数器外,虚拟机内存的几个运行时区域都可能发生OutOfMemoryError(OOM)。 堆溢出 Java堆用于存储对象实例,只要不断的创建对象,并且保证GC Roots到对象之间有可达路径避免垃圾回收机制清除这些对象,那么在对象数量达到最大堆的容量限制后就