java.lang.OutOfMemoryError: PermGen 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 指定最大值后即可解决问题。
而当出现出现java.lang.OutOfMemoryError: Java heap space 这个异常时,通过调节-Xms512m -Xmx1024m这个就可以解决。
另外,这个两个参数 -XX:+UseParallelGC -XX:+UseParallelOldGC 让服务并行回收内存空间。但是,这两个参数配置上去以后,也会占用一定的内存空间。
本文转自博客 http://www.blogjava.net/fiele/archive/2009/07/27/288609.html
分享到:
相关推荐
当遇到“JBoss内存溢出”问题时,优化策略的选择变得至关重要,这不仅关乎系统的稳定运行,还直接影响到用户体验和业务连续性。 ### JBoss内存溢出的原因 JBoss内存溢出通常由以下几个方面引起: 1. **对象泄漏**...
### JBoss内存溢出原因分析 #### 一、概述 JBoss是一款开源的应用服务器,它支持多种企业级应用,如EJB(Enterprise JavaBeans)、JMS(Java Messaging Service)、JPA(Java Persistence API)等。在运行过程中,...
在开发Java应用程序时,我们经常会遇到服务器内存溢出(Out Of Memory)的问题,尤其是在使用集成开发环境如MyEclipse启动大型或复杂项目时,搭配应用服务器如JBoss时,这种情况尤为常见。内存溢出通常是由于应用...
此外,可以启用并行垃圾收集以优化内存回收,例如使用`-XX:+UseParallelGC -XX:+UseParallelOldGC`,这将使JVM并行处理年轻代和老年代的垃圾回收,提高效率。然而,这些选项也会占用额外的内存,因此需要权衡性能和...
【Jboss事物处理】是企业级Java应用中的一项关键技术,主要关注的是在分布式环境中如何确保数据的一致性和完整性。在大型系统中,由于服务的分布式特性,事务处理变得尤为重要,它保证了即使在网络故障或系统崩溃的...
在JBOSSTomcat服务器的性能优化中,最大连接数配置和JVM内存配置是两个至关重要的环节,它们直接影响到服务器的响应速度和稳定性,尤其对于处理大量并发请求的场景。 首先,我们来看JBOSS最大连接数的配置。在`...
本文主要介绍了如何配置和管理JBoss EAP 6.4,包括安装和部署FineReport、修改服务器端口、调整内存设置以及改变Web工程的根目录。 首先,我们需要下载并安装JBoss EAP 6.4。这可以通过访问Red Hat的官方网站完成,...
通过深入研究和实践,找到了一些有效的解决方案来缓解甚至解决JBoss内存紧张的问题。 ##### 1. 修改`report.war`部署文件 在`.jboss\server\default\deploy\report.war`目录下,对部署文件进行了调整,虽然文中...
根据实际需求,可能需要对JBoss进行性能优化,如调整内存设置、线程池大小等。同时,别忘了为生产环境配置安全策略,如SSL/TLS加密、用户认证等。 10. **监控与日志**: 了解如何查看和分析JBoss的日志文件,这...
2. 资源占用低:相对于其他应用服务器,JBoss 需要的内存和硬盘空间较小。 3. 安装简便:只需解压 JBoss 的打包文件,并配置一些环境变量即可。 4. 热部署功能:能自动检测并部署或更新 Bean,无需重启服务器。 5. ...
4. **多线程模型**:JBoss AS 7.1引入了基于工作窃取的多线程模型,优化了并发处理,提高了服务器的吞吐量。 5. **EJB 3.1支持**:此版本支持Enterprise JavaBeans 3.1规范,包括异步方法调用、定时器服务和轻量级...
#### 二、JBoss内存优化:调整JVM 内存优化对于提高JBoss性能至关重要。合理设置JVM参数能显著提升应用程序的响应速度和稳定性。常见的JVM参数包括初始化堆内存大小(-Xms)、最大堆内存大小(-Xmx)、永久代内存初始值...
Jboss 项目部署文档 Jboss 项目部署文档是指在 Jboss 服务器上部署项目的详细步骤,包括环境变量的配置、项目打包、配置文件的修改、JNDI 的配置等。以下是 Jboss 项目部署文档的详细知识点: 一、环境变量配置 ...
Nginx 1.2.1 + JBOSS AS 7 负载配置及Session处理 本文主要介绍了如何使用 Nginx 1.2.1 和 JBOSS AS 7 实现负载均衡和 Session 处理。文章首先介绍了使用 Nginx 1.2.1 和 JBOSS AS 7 做为应用服务器的理由,然后...
7. **配置服务器设置**:在此步骤,可以调整服务器的启动参数,如内存分配、端口等。完成后点击“Finish”。 8. **部署项目**:在项目资源管理器中,右键点击需要部署的项目,选择“Run As” -> “Run on Server”...
- **内存管理**:合理设置JVM参数,如初始堆大小、最大堆大小等,以避免因内存溢出导致的服务中断。 - **线程池配置**:通过调整线程池大小,可以有效提升系统响应速度。 - **监控工具集成**:利用JConsole等工具对...
- 性能优化:对内存管理和请求处理进行了优化。 - 安全强化:加强了身份验证和授权机制,提升了加密标准。 总结,JBoss EAP 7.2.6-patch 包含了一系列针对 JBoss EAP 7.2.x 系列的补丁,用户应遵循正确的流程和...
这样,当在该目录下添加或更新文件时,JBoss会自动处理热部署。 5. **使用工具辅助**:有一些工具可以帮助简化热部署过程,例如JRebel和Red Hat JBoss Developer Studio。这些工具可以实时跟踪代码更改,并自动同步...
JBoss,作为一款开源的应用服务器,是Java EE(现在称为Jakarta EE)应用程序的重要运行环境。它由Red Hat公司维护,提供了对Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等标准的全面支持。...