将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
分享到:
相关推荐
JBoss内存溢出的优化是一个系统工程,涉及到JVM参数配置、代码优化、资源管理以及监控等多个方面。通过综合运用上述策略,可以显著提高JBoss服务器的稳定性和响应速度,为企业级应用提供更加可靠的服务支持。然而,...
在软件开发过程中,尤其是涉及到大型应用或服务器的配置时,正确调整Java虚拟机(JVM)的内存设置至关重要。本文以“JBoss配置内存大小”为主题,详细解释了如何优化JBoss服务器运行时的内存分配,以避免因内存不足...
### JBoss内存溢出原因分析 #### 一、概述 JBoss是一款开源的应用服务器,它支持多种企业级应用,如EJB(Enterprise JavaBeans)、JMS(Java Messaging Service)、JPA(Java Persistence API)等。在运行过程中,...
保存更改并重启服务,新的内存配置就会生效。 最后,要更改Web工程的根目录,需要创建一个名为`jboss-web.xml`的文件,在`webroot/WEB-INF/`目录下。文件内容应包含`<context-root>`标签,用于定义Web应用的上下文...
7. **配置服务器设置**:在此步骤,可以调整服务器的启动参数,如内存分配、端口等。完成后点击“Finish”。 8. **部署项目**:在项目资源管理器中,右键点击需要部署的项目,选择“Run As” -> “Run on Server”...
#### 二、JBoss内存优化 JBoss在运行时会消耗大量内存,因此对其内存进行优化是提高整体性能的关键步骤之一。 **优化要点:** 1. **调整内存大小:** - 设置初始堆大小(`-Xms`)和最大堆大小(`-Xmx`),推荐...
#### 二、JBoss内存优化:调整JVM 内存优化对于提高JBoss性能至关重要。合理设置JVM参数能显著提升应用程序的响应速度和稳定性。常见的JVM参数包括初始化堆内存大小(-Xms)、最大堆内存大小(-Xmx)、永久代内存初始值...
- 解压与配置:下载后,解压到你选择的目录,然后根据`standalone.xml`或`domain.xml`配置文件进行基本设置,如端口、内存分配等。 - 启动与停止:使用`standalone.bat`(Windows)或`standalone.sh`(Linux/Unix...
4. **设置共享存储**:如NFS或共享内存,用于共享session数据。 5. **部署应用**:确保所有节点上应用的部署方式一致,如使用JNDI或文件系统共享。 **四、JBoss集群测试** 1. **启动所有节点**:确保每个节点都能...
- 调整内存和线程池设置以优化性能 理解这些核心概念并掌握实际操作是成为JBoss 7.1.1管理员的关键。此外,还应关注JBoss的更新和社区支持,以便获取最新的安全补丁和功能增强,确保系统的持续稳定和安全。
《JBOSS7配置及管理员手册》:深入解析与实操指南 ### JBOSS各主要版本特性概览 #### JBOSS4特性 - **模块化架构**:引入了更为灵活的模块化设计,提高了应用程序的可扩展性和可维护性。 - **企业级功能**:加强了...
1. 启动配置:在`standalone.bat`(Windows)或`standalone.sh`(Linux/Unix)脚本中,可以通过修改`JAVA_OPTS`变量来设置JVM参数,如内存大小(-Xms, -Xmx)、堆内存分配策略(-XX:MaxHeapFreeRatio, -XX:...
【JBOSSTomcat最大连接数配置和JVM内存配置】 在JBOSSTomcat服务器的性能优化中,最大连接数配置和JVM内存配置是两个至关重要的环节,它们直接影响到服务器的响应速度和稳定性,尤其对于处理大量并发请求的场景。 ...
- **网络接口和端口**:配置网络设置,确保JBoss实例之间的正确通信。 - **网络接口声明**:定义服务器使用的网络接口。 - **SocketBindingGroups**:分组管理Socket绑定。 - **管理接口的安全性**:保护管理接口...
你可以根据需求调整服务器端口、内存分配、数据源、安全管理等设置。 2. 安全配置:默认情况下,JBoss提供了一定的安全性。你可以通过配置管理用户、角色和认证机制,例如在`standalone.xml`中配置ManagementRealm...
内存配置对于JBOSS的性能至关重要。可以通过修改`JAVA_OPTS`环境变量来调整JVM内存分配。例如,将`-Xms`和`-Xmx`分别设置为初始化堆内存和最大堆内存,通常建议分配服务器内存的3/4,比如4GB内存可以设置为`-Xms4096...
根据实际需求,可能需要对JBoss进行性能优化,如调整内存设置、线程池大小等。同时,别忘了为生产环境配置安全策略,如SSL/TLS加密、用户认证等。 10. **监控与日志**: 了解如何查看和分析JBoss的日志文件,这...
此外,Eclipse还提供了丰富的功能来帮助开发者进行服务器配置,比如设置端口、调整内存分配、配置数据源等。你可以在服务器属性设置中进行这些高级配置。同时,Eclipse的错误日志和调试工具也能帮助你定位和解决在...
9. **设定系统参数**:文件“将Jboss 安装为Windows 服务时设定系统参数.doc”可能包含了更多关于如何优化服务性能和设置的具体细节,如调整内存分配、线程池大小、日志级别等。 通过以上步骤,你可以成功地将JBoss...