优化jboss从几个方面入手,第一,配置路径端口,第二,给后台管理加权限控制。第三,jvm的优化配置。
第一,项目一般都是用utf-8来配置传输参数。如果不配置的话,会默认为系统的编码
那么你首先的修改其编码“
jboss-5.0.0.GA\server\default\deploy\jbossweb.sar”中server.xml里面修改成:
<Connector protocol="HTTP/1.1" port="89" address="0.0.0.0"
connectionTimeout="20000" redirectPort="8443" URIEncoding="utf-8" />
port是你要修改外部的访问端口,默认是8080,你发布项目以后可能会改成80,加上URIEncoding=”UTf=8”是保证url传参数是utf-8传输的
第二,给后台加上权限控制。http://localhost:8080/jmx-console/ 直接可以进入。
修改方法如下
1. [b]default\deploy\jmx-console.war\WEB-INF 目录下的两个文件 web.xml 和 jboss-web.xml[/b]
web.xml中去掉注释
<security-constraint>
jobss-web.xml中去掉<security-domain>注释
以上是开启了认证,默认帐户密码是admin/admin
2. 如果修改密码修改如下文件
\server\default\conf\props 中的jmx-console-users.properties 中admin=admin 格式是用户名=密码,修改后面的admin就可以修改密码
三. JVM的优化。这一步也是至关重要的,首先来普及一下jvm的基础知识
Jvm分为主要为两大块 ,一个是heap和 no heap ,。
Heap包括三个区域. Eden space ,survivor space ,tenured space.其中surivor space包括两个区,一个是from,一个是to区。下面描述个部分的职责:
Eden是负责新对象的创建区域。当新对象无法在eden区创建的时候,eden区会进行minor gc,会将一些失效的对象清除。会将清除下来的部分对象放到survivor space区域或者tenured space区域。当tenured space的对象越来越多的时候,达到jvm内存不足10%的时候,会进行一次full gc来释放对象。项目要尽可能少的full gc ,应为full gc比较占用内存,一般要求吞吐量比较大的时候,尽量的将new区域设置的比较大一点。也就是eden和survivor这个区域。
下面简要的说一下配置参数
在\bin目录下run.bat文件 用记事本打开 找到
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -XX:MaxPermSize=256m
-Xms=128m这是heap初始化大小。32bit操作系统最大在1.5g-2g之间。64位的无限制
-Xmx=512m 这是heap最大的大小。尽量的将-Xms和-Xmx大小设置相同,这样避免内存重新分配影响性能
-Xss=128k 线程初始化大小,5.0之前默认是128k,之后为1m,线程机器最大为3000-5000
-XX:MaxPermSize=256m.这是表明持久类,也就是noheap区域的最大为256
-XX:PermSize=256m这个持久区域初始化为256m,一般持久类的大小是64m
这个配置是最常用的配置。如果需要考虑到吞吐量,那么new space和old space你就得重新分配一下
-XX:NewRatio=4
设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5
-XX:SurvivorRatio=4
设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6
-XX:MaxTenuringThreshold=0
设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。 对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活 时间,增加在年轻代即被回收的概论
Jvm垃圾收集器包括三种:串行,并行,并发
串行:处理小型数据,jdk1.4之前默认使用
并行:1.5和1.5之后使用,处理
典型配置:
• java -Xmx3800m -Xms3800m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20
-XX:+UseParallelGC:选择垃圾收集器为并行收集器。此配置仅对年轻代有效。即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。
-XX:ParallelGCThreads=20:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。此值最好配置与处理器数目相
• java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC
-XX:+UseParallelOldGC:配置年老代垃圾收集方式为并行收集。JDK6.0支持对年老代并行收集。
• java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:MaxGCPauseMillis=100
-XX:MaxGCPauseMillis=100:设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
• java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy
-XX:+UseAdaptiveSizePolicy:设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开。
• 响应时间优先的并发收集器
如上文所述,并发收集器主要是保证系统的响应时间,减少垃圾收集时的停顿时间。适用于应用服务器、电信领域等。
典型配置:
• java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:ParallelGCThreads=20 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:+UseConcMarkSweepGC:设置年老代为并发收集。测试中配置这个以后,-XX:NewRatio=4的配置失效了,原因不明。所以,此时年轻代大小最好用-Xmn设置。
-XX:+UseParNewGC:设置年轻代为并行收集。可与CMS收集同时使用。JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
• java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+UseConcMarkSweepGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction:由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生“碎片”,使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。
-XX:+UseCMSCompactAtFullCollection:打开对年老代的压缩。可能会影响性能,但是可以消除碎片
常见配置汇总
1. 堆设置
o -Xms:初始堆大小
o -Xmx:最大堆大小
o -XX:NewSize=n:设置年轻代大小
o -XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4
o -XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5
o -XX:MaxPermSize=n:设置持久代大小
2. 收集器设置
o -XX:+UseSerialGC:设置串行收集器
o -XX:+UseParallelGC:设置并行收集器
o -XX:+UseParalledlOldGC:设置并行年老代收集器
o -XX:+UseConcMarkSweepGC:设置并发收集器
3. 垃圾回收统计信息
o -XX:+PrintGC
o -XX:+PrintGCDetails
o -XX:+PrintGCTimeStamps
o -Xloggc:filename
4. 并行收集器设置
o -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
o -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
o -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)
5. 并发收集器设置
o -XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
o -XX:ParallelGCThreads=n:设置并发收集器年轻代收集方式为并行收集时,使用的CPU数。并行收集线程数。
分享到:
相关推荐
### JBoss优化配置详解 #### 一、JBoss后台启动 在JBoss的启动脚本中,通过修改`run.sh`或`run.bat`(视操作系统而定)可以实现JBoss服务的后台运行。这对于生产环境下的服务器尤其重要,因为这能够避免控制台输出...
JBOSS优化配置是针对企业级Java应用服务器JBoss进行性能提升的重要环节,涉及多个方面,包括后台启动、内存管理、日志输出模式以及数据库连接池的调整。下面将详细介绍这些知识点。 一、JBOSS后台启动: 在JBOSS的...
### JBoss优化配置详解 #### 一、JavaOPTS设置 在JBoss的优化配置中,JavaOPTS的设置对于提升应用服务器的性能至关重要。Java虚拟机(JVM)的内存管理主要包括两大块:堆内存(Heap)和非堆内存(Non-Heap)。 **堆内存...
此文件用于优化JBoss部署时,创建一个文件夹,而不是打成一个war包,这样大大提高了起服务的时间,在IDE中修改jsp文件时,也不需要重启jboss,jboss会自动加载jsp文件
### JBoss + 优化配置详解 #### 一、JBoss后台启动优化 JBoss作为一款广泛使用的Java应用服务器,其启动方式的选择对于系统的稳定性和性能至关重要。后台启动可以使JBoss在启动后不会阻塞终端,方便进行其他操作或...
内存配置是JBoss优化的关键部分。默认的内存设置可能无法满足大型或高并发应用的需求。我们需要根据应用的特性调整堆内存大小(`Xms` 和 `Xmx` 参数)、新生代大小(`NewSize` 和 `MaxNewSize`)以及永久代大小(`...
### JBoss性能优化详解 #### 一、背景与问题描述 在使用JBoss 3.2.1版本部署Web应用的过程中,遇到了一个长期存在的问题——内存占用过高,具体表现为即使对于规模不大、流量不多的站点,系统也经常需要消耗超过...
《JBoss性能优化整合》是一份深度探讨Jboss应用服务器性能提升的重要资料,它集结了作者反复试验与研究的心得,旨在为读者提供实用而全面的优化策略。Jboss作为一款开源的企业级Java应用服务器,其性能表现直接影响...
在IT领域,特别是Java应用服务器的管理与优化中,JBoss作为一款广泛使用的开源应用程序服务器,其性能调优一直是系统管理员和技术专家关注的焦点。当遇到“JBoss内存溢出”问题时,优化策略的选择变得至关重要,这...
争对安全性方面的配置,如需要禁止不需要的http请求方式等
根据实际需求,可能需要对JBoss进行性能优化,如调整内存设置、线程池大小等。同时,别忘了为生产环境配置安全策略,如SSL/TLS加密、用户认证等。 10. **监控与日志**: 了解如何查看和分析JBoss的日志文件,这...
JBoss 安全优化主要关注的是提升服务器的安全性,防止未授权访问和敏感信息泄露。在JBoss中,可以通过多种方式来强化系统安全,包括数据源配置加密、使用HTTPS协议、设置定时登出机制以及调整错误页面重定向等措施。...
4. **多线程模型**:JBoss AS 7.1引入了基于工作窃取的多线程模型,优化了并发处理,提高了服务器的吞吐量。 5. **EJB 3.1支持**:此版本支持Enterprise JavaBeans 3.1规范,包括异步方法调用、定时器服务和轻量级...
【标题】:“MyEclipse中配置JBoss” 在IT行业中,MyEclipse是一款深受开发者喜爱的集成开发环境(IDE),尤其对于Java EE项目...同时,熟练掌握这种集成环境的配置,对于提高开发效率,优化项目管理具有重要意义。
【JBoss EAP 7.2.6 补丁包详解】 JBoss Enterprise Application Platform (EAP) 是 Red Hat 提供的一款开源中间件,用于构建、部署和管理企业级 Java 应用程序。JBoss EAP 7.2.6 版本是一个重要的更新,包含了多个...
总之,WebLogic和JBoss的集群配置与参数优化是保证大型企业系统稳定性和高效运行的重要环节。每个环境都有其独特的需求,因此在实际操作中,应结合具体情况灵活调整配置和优化参数。通过深入理解这两种应用服务器的...
JBoss,作为一款开源的应用服务器,是Java EE(现在称为Jakarta EE)应用程序的重要运行环境。它由Red Hat公司维护,提供了对Web服务、EJB(Enterprise JavaBeans)、JMS(Java Message Service)等标准的全面支持。...
它的基代码源自成熟的JBoss3.2.x系列,经过优化和增强,更适合大规模企业级应用的部署。 **5. JBoss5.x: 架构革新** 预告的JBoss5.x版本将带来架构上的重大变革,采用POJO(Plain Old Java Object)微内核设计,这...
Jboss中间件下JVM参数调优配置的知识点主要包括以下几个方面: 1. JVM内存结构优化 JVM内存主要分为堆内存(heap)和非堆内存(nheap)。堆内存主要包括Eden空间、Survivor空间和Tenured空间。Eden空间用于对象的...