jboss质量优化,面试虐菜

JVM常见配置汇总

1. 堆设置
-Xss128m:JBoss每扩大一个线程(thread)就会立即消耗128K,暗许值好像是512k.
-Xms256m:开头堆大小,代表jvm最少用 512m内部存款和储蓄器
-Xmx:最大堆大小
一般为服务器的75%内部存款和储蓄器量,推荐至少使用4G内部存款和储蓄器,不应当超越物理内部存款和储蓄器的90%。
-XX:NewSize=n:设置年轻代大小
-XX:NewRatio=n:设置年轻代和年老代的比率。如:为3,表示年轻代与年老代比值为1:3,年轻代占全部青春代年老代和的四分之一
-XX:SurvivorRatio=n:年轻代中艾登区与八个SuriPhoner区的比值。注意Sur酷派r区有多少个。如:3,表示艾登:Sur索爱r=3:2,3个Sur摩托罗拉r区占整个年轻代的二成
-XX:MaxPermSize=n:设置持久代大小
2. 收集器设置
-XX:+Use塞里alGC:设置串行收集器
-XX:+UseParallelGC:设置并行收集器
-XX:+UseParalledlOldGC:设置并行年老代收集器
-XX:+UseConc马克SweepGC:设置并发收集器
3. 垃圾回收计算音信
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
4. 互动收集器设置
-XX:ParallelGCThreads=n:设置并行收集器收集时行使的CPU数。并行收集线程数。
-XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
-XX:GCTimeRatio=n:设置垃圾回收时间占程序运维时间的百分比。公式为1/(1+n)
5. 并发收集器设置
-XX:+CMSIncrementalMode:设置为增量格局。适用于单CPU景况。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集格局为并行收集时,使用的CPU数。并行收集线程数。

 

生儿育女实例 
<Connector protocol=”HTTP/1.1″ port=”8080″ address=”${0.0.0.0}” 
               connectionTimeout=”20000″ redirectPort=”8443″
                                URIEncoding=”utf-8″                 
compression=”on”                  compressionMinSize=”2048″ 
                noCompressionUserAgents=”gozilla, traviata” 
               
compressableMimeType=”text/html,text/xml,text/javascript, text/css,
text/plain,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml”
        />

Jboss 优化配置

一. Jboss后台运转:
累加后台修改命令:

vi run.sh

 

while true; do
  if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then
  # Execute the JVM in the foreground
  nohup "$JAVA" $JAVA_OPTS \
  -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \
  -classpath "$JBOSS_CLASSPATH" \
  org.jboss.Main "$@"
  JBOSS_STATUS=$?
  else
  # Execute the JVM in the background
  "$JAVA" $JAVA_OPTS \
  -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" \
  -classpath "$JBOSS_CLASSPATH" \
  org.jboss.Main "$@" &
  JBOSS_PID=$!
  # Trap common signals and relay them to the jboss process
  trap "kill -HUP $JBOSS_PID" HUP
  trap "kill -TERM $JBOSS_PID" INT
  trap "kill -QUIT $JBOSS_PID" QUIT
  trap "kill -PIPE $JBOSS_PID" PIPE
  trap "kill -TERM $JBOSS_PID" TERM
  # Wait until the background process exits
  WAIT_STATUS=0
  while [ "$WAIT_STATUS" -ne 127 ]; do
  JBOSS_STATUS=$WAIT_STATUS
  wait $JBOSS_PID 2>/dev/null
  WAIT_STATUS=$?
  done
  fi
  # If restart doesn't work, check you are running JBossAS 4.0.4+
  # http://jira.jboss.com/jira/browse/JBAS-2483
  # or the following if you're running Red Hat 7.0
  # http://developer.java.sun.com/developer/bugParade/bugs/4465334.html  
  if [ $JBOSS_STATUS -eq 10 ]; then
  echo "Restarting JBoss..."
  else
  exit $JBOSS_STATUS
  fi
done &

二. Jboss内部存款和储蓄器优化:
修改这么些两参数,给jvm分配适当的内部存款和储蓄器,一般为服务器的百分之七十五内部存款和储蓄器量,推荐至少使用4G内部存款和储蓄器。
别的添加七个参数 -XX:+UseParallelGC -XX:+UseParallelOldGC
那七个让服务并行回收内部存款和储蓄器空间。修改形成后,大约为

JAVA_OPTS
= “-Xms4096m -Xmx8192m -XX:+UseParallelGC -XX:+UseParallelOldGC
-Dsum……

 

三. Jboss日志输出方式

[root@190MEM conf]# pwd
/usr/local/jboss/server/default/conf
[root@190MEM conf]# vi jboss-log4j.xml
  <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
  <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
  <param name="File" value="${jboss.server.log.dir}/server.log"/>
  <param name="Append" value="false"/>
  <param name="Threshold" value="ERROR"/>

 

四. Jboss数据库连接池优化
修改数据库连接池:

<datasources>
  <local-tx-datasource>
  <jndi-name>training_master_db</jndi-name> <connection-url>jdbc:mysql://211.100.192.128:3306/dts?useUnicode=true&amp;characterEncoding=UTF-8</connection-url>
  <driver-class>com.mysql.jdbc.Driver</driver-class>
  <user-name>root</user-name>
  <password></password>
  <min-pool-size>100</min-pool-size>
  <max-pool-size>500</max-pool-size> <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>

五. Jboss布署目录优化:
  去掉和应用非亲非故的配备,加速jboss运转速度

bsh-deployer.xml 
client-deployer-service.xml  
ear-deployer.xml
ejb-deployer.xml 
http-invoker.sar 
jboss-bean.deployer 
jboss-ws4ee.sar
jms 
jsr88-service.xml  
schedule-manager-service.xml
scheduler-service.xml
sqlexception-service.xml
uuid-key-generator.sar

 

jboss线程池

jvm调优讲解1

A:JVM运转参数共分为三类:
        其一是专业参数(-),全体的JVM完结都不能够不兑现那几个参数的职能,而且向后卓殊;
        其二是非标准化准参数(-X),指的是JVM底层的有个别布局参数

  这一个参数在相似开发中默许即可,不必要其它配置。但是在生养环境中,并不保障拥有jvm完结都满意,所以为了加强质量,往往须求调动这一个参数,以求系统达到最好性能。此外这几个参数不保证向后分外,也正是说“如有变更,恕不在后续版本的JDK通告”(那是官网上的原话);

        其三是非Stable参数(-XX),那类参数在jvm中是不平静的,不适合平时行使的,后续也是唯恐会在并未文告的情景下就径直收回了,须求郑重使用。

B:而JVM 内部存款和储蓄器又可分为八个重大的域 :
        新域、旧域以及永久域(有的也号称新生代,年老代,和祖祖辈辈代)。JVM生成的兼具新对象放在新域中。一旦指标经历了肯定数量的杂质收集循环后,便进入旧域。而在永久域中是用来存款和储蓄JVM自个儿的反光对象的,如class和method对象,而且GC(GarbageCollection)不会在主程序运维期对永久域举行清理。

  当中新域和旧域属于堆,永久域是八个独立域并且不以为是堆的一局地。
C:各首要参数的效果如下 :

        -Xms:设置jvm内存的初始大小
        -Xmx:设置jvm内存的最大值
        -Xmn:设置新域的大小(这个似乎只对 jdk1.4来说是有效的,后来就废弃了)
        -Xss:设置每个线程的堆栈大小(也就是说,在相同物理内存下,减小这个值能生成更多的线程)
        -XX:NewRatio :设置新域与旧域之比,如-XX:NewRatio = 4就表示新域与旧域之比为1:4
        -XX:NewSize:设置新域的初始值
        -XX:MaxNewSize :设置新域的最大值
        -XX:PermSize:设置永久域的初始值
        -XX:MaxPermSize:设置永久域的最大值
        -XX:SurvivorRatio=n:设置新域中Eden区与两个Survivor区的比值。

 

艾登区重倘诺用来存放在新生的靶子,而多个 SurOPPOr区则用来存放每一次垃圾回收后存活下来的目的

D:常见的失实 :
        java.lang.OutOfMemoryError深信广大开发职员都用到过,

以此至关心爱惜要正是JVM参数没有配好引起的,但是这种错误又分三种:

java.lang.OutOfMemoryError:Java heap
space
java.lang.OutOfMemoryError: PermGenspace,

里前面者是关于堆内部存储器的内部存款和储蓄器溢出,能够同过配置-Xms和-Xmx参数来设置,而后者是关于永久域的内部存款和储蓄器溢出,能够透过安插 -XX:马克斯PermSize来设置。

上面是个例证,请依据实况开始展览修改,修改run.conf文件中的如下内容

 JAVA_OPTS="-Xms256m-Xmx2048m -XX:NewSize=256m -XX:MaxNewSize=512m -XX:PermSize=128m-XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled-XX:+CMSClassUnloadingEnabled -Djboss.platform.mbeanserver"

取缔/打开文件目录列表
编辑F:/JBoss/server/default/deploy/jboss-web.deployer/conf/web.xml
禁止把listing设置为false,不然true
防患LOG文件无界定的恢弘
在F:/JBoss/server/default/conf目录下开辟jboss-log4j.xml文件,在下语句块下:
   <appender name=”FILE”
class=”org.jboss.logging.appender.DailyRollingFileAppender”>      
<errorHandler
class=”org.jboss.logging.util.OnlyOnceErrorHandler”/>       <param
name=”File” value=”${jboss.server.log.dir}/server.log”/>      
<param name=”Append” value=”false”/> 扩张以下语句: <param
name=”马克斯FileSize” value=”10240KB”/> <param name=”马克斯BackupIndex”
value=”1″/> 其普通话件的最大值和备份的数量得以依据实情而改变

JVM调优讲解2

在Java的Jvm分为重庆大学为两大块:2个是heap和
nheap
Heap包罗四个区域. Eden spacesurvivor spacetenured
space
.
在那之中surivor space蕴含五个区,三个是from区,3个是to区
艾登是负责新对象的创办区域。当新对象无法在eden区创制的时候,eden区会议及展览开minor
gc,会将部分失效的对象清除。会将免除下来的有个别目的放置sur酷派r
space区域或然tenured space区域。当tenured
space的靶子更多的时候,达到jvm内部存款和储蓄器不足一成的时候,会进行2遍full
gc来释放对象。项目要尽大概少的full gc ,应为full
gc相比占用内部存储器,一般须要吞吐量相比较大的时候,尽量的将new区域设置的相比大学一年级点。也便是eden和sur索爱r那些区域。

下边简要的说一下安顿参数

set
JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -XX:MaxPermSize=256m 

-Xms512m 代表jvm最少用
512m内部存储器,32bit操作系统最大在1.5g-2g之间。60人的任性
-Xmx1024m 代表jvm最多选用1024m内部存款和储蓄器,尽量的将-Xms和-Xmx大小设置同一,这样幸免内部存款和储蓄重视新分配影响属性
-Xss=128k
线程起头化大小,5.0事先暗许是128k,之后为1m,线程机器最大为三千-5000
-XX:马克斯PermSize=256m.这是注明持久类,也便是noheap区域的最大为256
-XX:PermSize=256m以此持久区域最先化为256m,一般持久类的高低是64m
本条布局是最常用的安顿。假设供给考虑到吞吐量,那么new space和old
space你就得重新分配一下

 

Jvm垃圾收集器包含两种:串行,并行,并发
串行:处理小型数据,jdk1.4在此之前私下认可使用
互动:1.5和1.5随后选拔,处理

 

<max-pool-size>20</max-pool-size>      
<min-pool-size>5</min-pool-size>      
<idle-timeout-minutes>0</idle-timeout-minutes>

JBOSS参数调优

配置deploy/jboss-web.deployer/server.xml文件 .
       

<Connector
         port="8080"
         address="0.0.0.0"
         maxThreads="1600"
        minSpareThreads="100"
        maxSpareThreads="250"
         emptySessionPath="false"
        enableLookups="false"
         redirectPort="8443"
         acceptCount="800"
        connectionTimeout="20000"
        disableUploadTimeout="true"
         URIEncoding="UTF-8"
         />

maxThreads:代表最多而且处理的连接数。应该将线程数(最大线程数)设置比最大预期负载(同时出现的点击)多百分之二十五(经验规则)。

acceptCount:当同时连接的人头高达maxThreads时,仍是基本上能用排队的连接。

minSpareThread:指“运转之后,总是保持该数量的线程空闲等待”;设置比预想负载多四分一。

maxSpareThread:指“要是跨越了minSpareThread,然后总是保持该数额的线程空闲等待”;设置比预期负载多四分一。

 

里头第贰修改多个参数maxThreads和acceptCount值。

追加maxThreads,收缩acceptCount值有利裁减系统的响应时间。然则maxThreads和acceptCount的总额最高值不能超越6000,而且maxThreads过大会扩充CPU和内部存款和储蓄器消耗,故低配置用户可经过降低maxThreads并同时增大acceptCount值来保障系统的稳定性。

下表罗列出了在分裂并发景况下jboss参数与并发在线的貌似涉及。

并发数

服务器内部存款和储蓄器

jboss参数

 

 

maxThreads

acceptCount

50以下

2G

256

800

50-300

4G

600

1024

300-800

8G

1024

1528

800-1000

8G

1024

2048

1000-1200

12G

1526

2048

1200-1500

16G

2048

2048

 

 

 

 

 

 

 

 

 

上边这段需调剂好久。,
maxThreads=”200″                 maxSparseThreads=”40″               
minSparseThreads=”20″                acceptCount=”10″

JBoss品质优化:内部存款和储蓄器紧张的难点终于化解了(转发)—-调优实例

    前些天查了一天的材质,运气不错,收获十分的大,化解了二个困难难题:JBoss内部存款和储蓄器紧张的难题。
    那是三个麻烦了本身两年整的标题,正是在此以前年以此时候,用JBoss
3.2.1架站以来,始终是三个大题材。一点都不大的站点,1G的内存都不够用,经常要消耗500Mb的置换内部存款和储蓄器(swap)。
原先是友好犯了相当低级的失实,不懂JAVA_OPTS各参数的意义造成的。
之前的JAVA_OPTS是 -Xms 520m -Xmx 1220m
-Xss 15120k +XX:AggressiveHeap

 

这个JAVA_OPTS犯了二个沉重的一无可取:
1. +XX:AggressiveHeap会使得 Xms
1220m不曾意义。这么些参数让jvm忽略Xmx参数,疯狂地吃完2个G物理内部存款和储蓄器,再吃尽三个G的swap。
别的Xmx作为允许jvm使用的最大内部存款和储蓄器数量,不应有抢先物理内部存款和储蓄器的90%。
而由此采取了那个参数,是因为不加的话,JBoss会在运维一天左右的时刻后快速垮台,上机课是,甚至现身过半个钟头就完蛋的景况。
据此要用那一个参数,用swap援救服务器运营,是因为犯了下边包车型大巴错误:
2. -Xss 15120k
这使得JBoss每增添2个线程(thread)就会应声消耗15M内部存款和储蓄器,而最好值应该是128K,暗中同意值好像是512k.
那正是JBoss刚运营时,还有200Mb内部存款和储蓄器富余,但会在一个钟头内高速用完,因为服务器的threads在神速增多。前3天,每一天都多吃80Mb左右的swap.在第肆天初步稳定下来。二〇一九年新禧在外度假,观望到了那一个场地,却不知底其缘由:服务器在线程到达100事后,一般不再扩展新的线程,新扩展的在用完事后,会被高效destroy,1.25-2.10所利用的线程基本是1.21-
1.23创办的,由此没有再费用新的内部存款和储蓄器。服务器持续运维时刻,也为此大大超过笔者5天的意料,到达了20天。
前些天所作的修改:
1.修改JAVA_OPTS,去掉+XX:AggressiveHeap,修改Xss。现在的JAVA_OPTS为:

-Xms 520m -Xmx 900m -Xss 128k

2.修改deploy/jbossweb-tomcat55.sar/service.xml
将maxThreads依照当下的访问量由私下认可的250降为75,并选取jboss
4私下认可未写在正儿八经service.xml里面而jboss 3写入了的1个参数: 

maxSparseThreads=55
minSparseThreads=25

 

3.修改了oracle-ds.xml将最浦那接数有150降为50.

 

4.去掉了一些毫不的劳动

 

生产实例

style=”font-family: 楷体; font-size: 15px;”>  水肿整理了以前Jboss以及JVM在生养条件下的调优参数,各样区别的案例,都以来自网上朋友胡编。整合后,希望对广大使用jboss作为生产应用服务器的恋人有所帮忙。

jboss 

JBOSS瘦身

在JBOSS中提供更仆难数通常不供给的劳动和Jar包

  诸如JMX、Mail、AOP、Hibernate等,能够依据现实品种所波及的技艺,删减JBOSS内置应用,从而增强JBOSS中间件运转速度,减弱占用系统财富。

剔除服务
  在%JBOSS_HOME%/server/default/deploy中含有一些诸如jboss-aop.deployer等目录和mail-service.xml等使用配置文件,假诺不须要采取那几个使用的话,能够将其一一删除,但是删除时要非常小心,幸免选用系统不能起动。
 
删减Jar包
在%JBOSS_HOME%/server/default/lib中含有部分利用系统不须求的Jar包,那么些包同样能够拓展删减。

 

Name:在pool中threads的名号 ThreadGroupName:Thread group的称号
Keep阿里veTime:当threads空闲时,保持活动的最长日子(单位纳秒)
马克西姆umPoolSize:能够出现的thread的最大数据
MinimumPoolSize:能够出现的thread的细微数目
马克西姆umQueueSize:允许等待的request的最大数量
BlockingMode:等待队列满了后头的处理格局

JBOSS生产条件下JVM调优

查看CPU数

cat /proc/cpuinfo | grep "processor" | wc -l

JBOSS参数
  生产条件8G内部存款和储蓄器jboss配置如下

if [ "x$JAVA_OPTS" = "x" ]; then    
   JAVA_OPTS="-Xss128k -Xms6000m -Xmx6000m -XX:MaxNewSize=512m -XX:MaxPermSize=512M -XX:+UseParallelGC -XX:ParallelGCThreads=16 -XX:+UseParallelOldGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"    
fi    

  生产条件4G内部存款和储蓄器jboss配置如下

if [ "x$JAVA_OPTS" = "x" ]; then    
   JAVA_OPTS="-Xss128k -Xms3000m -Xmx3000m -XX:MaxNewSize=256m -XX:MaxPermSize=256m -XX:+UseParallelGC -XX:ParallelGCThreads=16 -XX:+UseParallelOldGC -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"    
fi   

数据库连接
  在JBOSS_HOME\Server\default\deploy目录下存在**-xa-ds.xml文件,用于JBOSS同数据库连接等陈设,暗中同意意况下**-xa-ds.xml文件中不含有关于数据库连接池等方面包车型地铁布局信息,能够加上一下剧情展开数据库连接池方面包车型地铁设置:

 

<min-pool-size>100</min-pool-size>    
<max-pool-size>500</max-pool-size>   

日志优化

优化JBOSS日志:%JBOSS_HOME%/server/default/conf/log4j.xml

修改Append

<SPAN><param name="Append" value="true"/>  
<param name="Threshold" value="WARN"/></SPAN>  

修改后的代码如下:

<SPAN><appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">  
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>  
<param name="File" value="${jboss.server.home.dir}/log/server.log"/>  
<param name="Append" value="true"/>  
<param name="Threshold" value="WARN"/>  
<param name="DatePattern" value="'.'yyyy-MM-dd"/>  
<layout class="org.apache.log4j.PatternLayout">  
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>  
</layout>  
</appender></SPAN>  

 

修改Root

闭馆控制台日志输出:
屏蔽:<appender-ref ref=”CONSOLE”/>

<root>  
<!--<appender-ref ref="CONSOLE"/>-->  
<appender-ref ref="FILE"/>  
</root>  

 

    linux jboss 布署时优化设置:
在/conf/web.xml中经过参数钦赐: <session-config>         
<session-timeout>1440</session-timeout>       
</session-config>    单位为分钟。
Jboss铺排目录优化:  去掉和应用非亲非故的布署,加速jboss运转速度 
bsh-deployer.xml  client-deployer-service.xml   ear-deployer.xml 
ejb-deployer.xml  http-invoker.sar  jboss-bean.deployer 
jboss-ws4ee.sar  jms  jsr88-service.xml   schedule-manager-service.xml 
scheduler-service.xml  sqlexception-service.xml 
uuid-key-generator.sar
下跌jboss输出日志的等级 打开
<jboss>/server/default/conf/jboss-log4j.xml
,那是二个log4j的配置文件。log4j的详尽布署表明请参见 
http://logging.apache.org/log4j/1.2/index.html 
。日志输出的太多,会促成服务器品质下落,所以收缩不必要的日记输出。方法大致如下:
1.找到 name=”org.jboss” 的category 成分,设置里面包车型客车priority成分为
<priority value=”INFO” /> 2.建三个新的category,内容为
<category name=”javax.faces”><priority value=”INFO”
/></category> log4j
仍是能够够将不一致的日记输入到不一样的地点,为了以往维护方便,应该将差异category的日记输入到差别的文件里。详细措施参看下边的网站里的辨证。
起用jboss内的tomcat对传输数据的滑坡功用 合同管理里用了汪洋的javascript
css等,为了减小传输时间,能够起用压缩成效。方法是:
1.开拓<jboss>/server/default/deploy/jboss-web.deployer/server.xml
2.找到 protocol=”HTTP/1.1″的 Connector成分,添加属性 ULacrosseIEncoding=”utf-8″
compression=”on” compressionMinSize=”2048″
noCompressionUserAgents=”gozilla, traviata”
compressableMimeType=”text/html,text/xml,text/javascript, text/css,
text/plain,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml”
添加完后相仿于: <Connector port=”8080″
address=”${jboss.bind.address}”    maxThreads=”250″
maxHttpHeaderSize=”8192″ emptySessionPath=”true” protocol=”HTTP/1.1″
enableLookups=”false” redirectPort=”8443″ acceptCount=”100″
connectionTimeout=”两千0″ disableUploadTimeout=”true”
UPAJEROIEncoding=”utf-8″ compression=”on” compressionMinSize=”2048″
noCompressionUserAgents=”gozilla, traviata”
compressableMimeType=”text/html,text/xml,text/javascript, text/css,
text/plain,application/xhtml+xml,application/x-javascript,application/javascript,text/xhtml”/>

//扩充jprofiler 运营参数(要jprofilter先运维才能开发银行jboss)
一般这一个注释掉
修改 JBoss 的启航脚本,参预如下参数: -agentlib:jprofilerti=port=8849
-Xbootclasspath/a:$JPROFILEPAJERO_HOME/bin/agent.jar  $JAVA_OPTS

编译jsp的配置  
诚如情况下,jsp文件在第三回被调用时才会被编写翻译,然后每那[被涂改3回,就会另行编写翻译。
那便于开发,但在生养环境下,变样的配置会挑起难题
1。第①个调用jsp页面包车型客车人即将等待jsp页面被编写翻译的时光,最棒的精选是关闭页面的懒编写翻译特征
2。每3遍页面须求都会检查jsp文件是还是不是被修改以决定是还是不是再次编写翻译,每回请求的检查更更新降低生产环境的属性
jsp文件的编写翻译和运转是被 1个java servlet处理的,那些java
servlet叫做jspServlet,在
…./deployers/jbossweb.deployer/web.xml配置 
<servlet>       <servlet-name>jsp</servlet-name>
<init-param>                           
<description>development</description>
                         
<param-name>development</param-name>
                          <param-value>false</param-value>
              </init-param>
<init-param>                           
<description>development</description>
                         
<param-name>checkInterval</param-name>
                          <param-value>300</param-value>
<!–  5分钟  –>
              </init-param>
参数
development 
  缺省值:true
 
描述:是还是不是利用支付方式,若是运用,那么modificationTestInterval参数将会被调用
checkInterval
  缺省值:0
 
描述:倘诺development为false,checkInterval的值大于0,编写翻译器起成效,checkInterval是再一次编写翻译的光阴世隔,默许一为0
modificationTestInterval
缺省值:4
 
描述:jsp页面在终极1遍调用后重新检查和测试的岁月距离,假如是0,那么每趟调用后都检查和测试,私下认可值是4

三10个人的Windows操作系统,最大也就能分配到1.5G左右的内部存款和储蓄器。原因是jvm出于品质的考虑分配内存时必须分配再而三的内部存款和储蓄器块,而在jvm运行从前往往有一部分别样的应用程序将操作系统的内部存款和储蓄器分割开,所以就会在jvm运维时出现不可能分红堆内存的不当。解决方法:
① 、在三十几个人的windows操作系统上运行多少个jvm 二 、换到六13位操作系统

给jvm分配适当的内部存款和储蓄器,一般为服务器的百分之七十五内部存款和储蓄器量,推荐至少使用4G内部存款和储蓄器。 
JAVA_OPTS = “-Xms4096m -Xmx8192m -XX:+UseParallelGC
-XX:+UseParallelOldGC .. . . ”
-Xms=128m那是heap开首化大小。32bit操作系统最大在1.5g-2g之间。六十二个人的极端制
-Xmx=512m
那是heap最大的大小。尽量的将-Xms和-Xmx大小设置同样,那样防止内部存款和储蓄重视新分配影响属性
-Xss=128k
线程初叶化大小,5.0在此之前暗中认可是128k,之后为1m,线程机器最大为三千-4000-XX:马克斯PermSize=256m.那是申明持久类,也正是noheap区域的最大为256
-XX:PermSize=256m以此持久区域起初化为256m,一般持久类的轻重是64m
Jvm垃圾收集器包蕴二种:串行,并行,并发
串行:处理小型数据,jdk1.4事先私下认可使用 并行:1.5和1.5后头选取,处理
-XX:ParallelGCThreads=20:配置并行收集器的线程数,即:同时有个别个线程一起实行垃圾回收。此值最佳布局与计算机数目相
-XX:+UseParallelOldGC:配置年老代垃圾收集情势为并行收集。JDK6.0援助对年老代相互收集。
(并发收集器重假若保险系统的响应时间,缩短垃圾收集时的刹车时间。适用于应用服务器、邮电通讯领域等。)
-XX:+UseConc马克SweepGC
设置年老代为出现收集。测试中布署这些以后,-XX:NewRatio=4的配备失效了,原因不明。所以,此时年青代大小最佳用-Xmn设置。
-XX:CMSFullGCsBeforeCompaction=
由于出现收集器不对内部存储器空间实行削减、整理,所以运营一段时间未来会生出“碎片”,使得运维功用下降。此值设置运维多少次GC现在对内部存款和储蓄器空间开始展览压缩、整理。
-XX:ParallelGCThreads=n:设置并发收集器年轻代收集格局为并行收集时,使用的CPU数。并行收集线程数。

//扩大jconsole运行参数
-Djava.rmi.server.hostname=192.168.19.126 
-Dcom.sun.management.jmxremote.port=9899-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false  $JAVA_OPTS

平安设置 一 、jmx-console登录的用户名和密码设置
私下认可处境走访http://localhost:8080/jmx-console就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问。步骤如下:
(1)找到JBoss安装目录/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉<security-domain>java:/jaas/jmx-console</security-domain>的笺注。修改后的该文件内容为:
(2)修改与(1)中的jboss-web.xml同级目录下的web.xml文件,查找到<security-constraint>节点,去掉它的注释
(3)
在率先步中的jmx-console安全域和第①步中的运转剧中人物JBossAdmin都以在login-config.xml中配备,大家在JBoss安装目录/server/default/config下找到它。查找名字为:jmx-console的application-policy:
<application-policy name = “jmx-console”> <authentication>
<login-module
code=”org.jboss.security.auth.spi.UsersRolesLoginModule” flag =
“required”> <module-option
name=”usersProperties”>props/jmx-console-users.properties</module-option>
<module-option
name=”rolesProperties”>props/jmx-console-roles.properties</module-option>
</login-module> </authentication>
</application-policy>
在此处能够见到,登录的角色、用户等的消息分级在props目录下的jmx-console-roles.properties和jmx-console-users.properties文件中装置,分别打开那五个公文。
配置完毕后读者能够透过访问:http://localhost:8088/jmx-console/,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。
贰 、web-console登录的用户名和密码设置
暗中认可意况下,用户访问JBoss的web-console时,不需求输入用户名和密码,为了安全起见,大家经过改动配置来为其增进用户名和密码。步骤如下:
(1)找到JBoss安装目录F:/JBoss/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,去掉<security-domain>java:/jaas/web-console</security-domain>的注释
(2)修改与(1)中的jboss-web.xml同级目录下的web.xml文件,去掉<security-constraint>部分的注释
(3)打开JBoss安装目录在JBoss安装目录/server/default/config下的login-config.xml文件,搜索web-console,找到并修改成如下内容:
<application-policy name = “web-console”>    
<authentication>        <login-module
code=”org.jboss.security.auth.spi.UsersRolesLoginModule” flag =
“required”>            <module-option
name=”usersProperties”>props/web-console-users.properties</module-option>
           <module-option
name=”rolesProperties”>props/web-console-roles.properties</module-option>
       </login-module>     </authentication>
</application-policy>
在文件中可以看到,设置签到web-console的用户名和角色等新闻分别在login-config.xml文件所在目录下的web-console-users.properties和web-console-roles.properties文件中,但因为该目录下无那七个公文,我们在JBoss安装目录/server/default/conf/props目录下建立那多少个文本,
文件内容可参照在“jmx-console登录的用户名和密码设置”中的三个照应的布署文件的内容。

#add wyg 2011-07-25 #modify wyg 2011-07-27  JAVA_OPTS=”$JAVA_OPTS
-Xms1200m -Xmx1200m -XX:PermSize=600m -XX:MaxPermSize=600m
-XX:NewSize=400M -XX:MaxNewSize=400M -XX:+UseTLAB -XX:TLABSize=128K”

conf/jboss-service.xml
<attribute name=”MaximumPoolSize”>40</attribute>      
<!– The max number of tasks before the queue is full –>      
<attribute name=”MaximumQueueSize”>1000</attribute>

设若有好多的jsp页面须要预编写翻译,能够买入内置编写翻译器

修改Jboss的bin目录下的run.bat/run.sh,在其加一行:
Windows set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx256m -XX:PermSize=128m
-XX:MaxPermSize=256m -XX:MaxNewSize=256m -Dfile.encoding=GBK echo
“JAVA_OPTS=”$JAVA_OPTS
Linux JAVA_OPTS=”$JAVA_OPTS -Xms128m -Xmx256m -XX:PermSize=128m
-XX:MaxPermSize=256m -XX:MaxNewSize=256m -Dfile.encoding=GBK” echo
“JAVA_OPTS=”$JAVA_OPTS

数据源

相关文章