将bin文件夹下面的run.bat文件中的
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
改成:
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -Xss 128k -XX:PermSize=256m -XX:MaxPermSize=256m
-Xms128m 初始的java内存堆大小 128M
-Xmx512m 最大的java内存堆大小 512M(最好不要超过物理内存的90%)
-Xss 128k 每个线程启动所占内存 128k
XX:PermSize=256m GC预留的内存,如果你的应用有大量的Class被动态载入或卸载,你应该把这个参数设大些
-XX:MaxPermSize=256m 最大的GC预留内存
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 中加入:-Xms128m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=256m
因为项目中引用了很多的 jar 包,而这些 jar 包中的 class 信息会被 JBoss 的 class loader 加载到 PermGen space 区域,在 JVM 默认的情况下,该部分空间的大小只有 4M,在 jar 包非常多的情况下,显然是不够用的,所以通过 -XX:MaxPermSize=256m 指定最大值后即可解决问题。
而当出现出现 java.lang.OutOfMemoryError: Java heap space 这个异常时,通过调节-Xms128m -Xmx512m这个就可以解决。
另外,这个两个参数 -XX:+UseParallelGC -XX:+UseParallelOldGC 让服务并行回收内存空间。但是,这两个参数配置上去以后,也会占用一定的内存空间。
另附jboss启动批处理文件:
@echo off
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_05
call bin\run.bat
转载(http://lvmlvy.iteye.com/blog/581835)
分享到:
相关推荐
JBoss内存溢出的优化是一个系统工程,涉及到JVM参数配置、代码优化、资源管理以及监控等多个方面。通过综合运用上述策略,可以显著提高JBoss服务器的稳定性和响应速度,为企业级应用提供更加可靠的服务支持。然而,...
本文以“JBoss配置内存大小”为主题,详细解释了如何优化JBoss服务器运行时的内存分配,以避免因内存不足导致的性能问题或`Out of Memory`异常。 首先,Java虚拟机在启动时会根据特定的参数来设定内存分配。有两个...
- 解压与配置:下载后,解压到你选择的目录,然后根据`standalone.xml`或`domain.xml`配置文件进行基本设置,如端口、内存分配等。 - 启动与停止:使用`standalone.bat`(Windows)或`standalone.sh`(Linux/Unix...
保存更改并重启服务,新的内存配置就会生效。 最后,要更改Web工程的根目录,需要创建一个名为`jboss-web.xml`的文件,在`webroot/WEB-INF/`目录下。文件内容应包含`<context-root>`标签,用于定义Web应用的上下文...
### JBoss内存溢出原因分析 #### 一、概述 JBoss是一款开源的应用服务器,它支持多种企业级应用,如EJB(Enterprise JavaBeans)、JMS(Java Messaging Service)、JPA(Java Persistence API)等。在运行过程中,...
7. **配置服务器设置**:在此步骤,可以调整服务器的启动参数,如内存分配、端口等。完成后点击“Finish”。 8. **部署项目**:在项目资源管理器中,右键点击需要部署的项目,选择“Run As” -> “Run on Server”...
本配置指南旨在详细阐述JBoss 7.1.1的特性、配置方法以及管理实践,帮助用户深入了解并有效地利用该版本。 1. **JBoss 版本特性** - **JBoss 4**:引入了模块化架构,增强了安全管理,支持EJB 3.0。 - **JBoss 5*...
【JBoss集群配置详解】 JBoss,作为一款开源的应用服务器,是Java EE平台的重要实现,为企业级应用提供了强大的运行环境。在大型系统中,为了提高服务的可用性、可扩展性和负载均衡,常常需要配置集群。本文将深入...
#### 二、JBoss内存优化 JBoss在运行时会消耗大量内存,因此对其内存进行优化是提高整体性能的关键步骤之一。 **优化要点:** 1. **调整内存大小:** - 设置初始堆大小(`-Xms`)和最大堆大小(`-Xmx`),推荐...
#### 二、JBoss内存优化:调整JVM 内存优化对于提高JBoss性能至关重要。合理设置JVM参数能显著提升应用程序的响应速度和稳定性。常见的JVM参数包括初始化堆内存大小(-Xms)、最大堆内存大小(-Xmx)、永久代内存初始值...
《JBOSS7配置及管理员手册》:深入解析与实操指南 ### JBOSS各主要版本特性概览 #### JBOSS4特性 - **模块化架构**:引入了更为灵活的模块化设计,提高了应用程序的可扩展性和可维护性。 - **企业级功能**:加强了...
### JBoss7配置指南及管理员手册 #### JBoss7配置说明及核心管理概念 JBoss7作为一款先进的Java应用服务器,其配置与管理对于确保应用的高效稳定运行至关重要。本文档将详细介绍JBoss7的核心配置及管理概念,帮助...
"海量数据找最大的K个.doc"文件可能涉及在大数据背景下,如何在JBoss AS 5环境中优化数据处理,比如利用内存管理策略、线程池配置、数据库连接池设置等来提高性能。 总结,JBoss5配置涉及到多个层面,从基础的安装...
【JBoss的安装、配置和部署】 JBoss是一款开源的应用服务器,它基于Java EE(Enterprise Edition)标准,提供了丰富的中间件服务,支持Web应用、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等。在...
【JBOSSTomcat最大连接数配置和JVM内存配置】 在JBOSSTomcat服务器的性能优化中,最大连接数配置和JVM内存配置是两个至关重要的环节,它们直接影响到服务器的响应速度和稳定性,尤其对于处理大量并发请求的场景。 ...
4. **设置run参数**:根据集群需求,可能需要调整Jboss的启动参数,如JVM内存大小、线程池数量等。 5. **Web client配置**: - **web.xml**:在Web应用的部署描述符中,可能需要配置session-config,指定session的...
内存配置对于JBOSS的性能至关重要。可以通过修改`JAVA_OPTS`环境变量来调整JVM内存分配。例如,将`-Xms`和`-Xmx`分别设置为初始化堆内存和最大堆内存,通常建议分配服务器内存的3/4,比如4GB内存可以设置为`-Xms4096...
### JBoss7配置指南及管理员手册关键知识点解析 #### 一、JBoss主要版本特性 JBoss是一款开源的应用服务器,提供了强大的企业级服务支持。随着技术的发展,JBoss也经历了多个版本的迭代。 ##### 1.1 JBoss4特性 -...
【JBoss服务器常用配置】 JBoss服务器是一款开源的Java应用服务器,它基于Java EE规范,为企业级应用程序提供了全面的运行环境。本篇文章将详细介绍JBoss服务器的一些常见配置,以帮助用户更好地管理和优化其应用...