Weblogic中间件运维经验汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Weblogic中间件运维经验汇总
目录
关于Weblogic参数调优的运维经验 (2)
Weblogic性能调优的处理方法 (5)
关于输电项目Weblogic安装的运维经验 (8)
Weblogic回收数据库连接数配置的方法 (14)
在Apache和Weblogic中分别部署静态页面的方法 (17)
Weblogic Server性能调优经验 (20)
WeblogicJVM堆参数设置方法 (24)
关于Weblogic参数调优的运维经验
报送单位:北京公司审核人:类型:业务应用
关键字:GC垃圾回收
1、引言
为了提高维护人员运维水平,以集中与分享日常运行维护经验为目的,现进行典型经验的编制。
2、现象描述
部分应用服务器出现宕机现象,在F5上查看时已经掉出集群状态。
3、处理过程
停止宕机应用服务器上的Weblogic进程。
/home/weblogic/bea/user_projects/domains/pms/bin/setDomainEn v.sh文件中的启动内存大小并添加垃圾回收机制,修改后如下:MEM_ARGS="-Xms5248m -Xmx5248m -Xmn1536m
-XX:SurvivorRatio=6
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSFullGCsBeforeCompaction=20
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts"
3、修改完成后重启Weblogic服务。
4、原因分析
在收到报警信息后,对后台日志进行查看,报错信息如下:
Exception in thread "CBM_正常处理任务线程" ng.OutOfMemoryError: Java heap space
at
oracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.ja va:868)
at
oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatem ent.java:1045)
at
oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPre paredStatement.java:839)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatem ent.java:1132)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa redStatement.java:3316)
at
oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePrepare
dStatement.java:3361)
经过对报错日志分析,状态检修的CBM处理进程内存溢出报错,导致服务器宕机。
5、经验总结
内存溢出是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于虚拟机能提供的最大内存。
为了解决Java中内存溢出问题,我们首先必须了解Java是如何管理内存的。
Java的内存管理就是对象的分配和释放问题。
在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾收集器(GarbageCollection,GC)完成的,程序员不需要通过调用GC函数来释放内存,因为不同的JVM实现者可能使用不同的算法管理GC,有的是内存使用到达一定程度时,GC才开始工作,也有定时执行的,有的是中断式执行GC。
但GC只能回收无用并且不再被其它对象引用的那些对象所占用的空间。
Java的内存垃圾回收机制是从程序的主要运行对象开始检查引用链,当遍历一遍后发现没有被引用的孤立对象就作为垃圾回收。
垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。
6、技术人员
国网电科院苑小红
Weblogic性能调优的处理方法
报送单位:东北公司审核人:类型:基础应用
关键字:Weblogic 性能
1、引言
在Weblogic的配置当中,常常会遇见性能问题,这些性能问题容易延误工作的效率,因此我们就要对Weblogic进行调优。
2、现象描述
办公自动化出现“发送”卡或滞后的现象。
3、处理过程
配置:Weblogic线程数
打开“config\config.xml”文件
<name>部署的服务</name>增加
<self-tuning-thread-pool-size-min>10</self-tuning-thread-pool-siz e-min>
<self-tuning-thread-pool-size-max>10</self-tuning-thread-pool-si ze-max>
调整参数根据用户并发数、服务器性能进行调整
配置:JVM MEM_ARGS Parameter
打开“startManagedWebLogic.cmd”文件
增加:set USER_MEM_ARGS= -Xms256m -Xmx1024m,根据服务器性能进行调整,windows平台最高支持“1792m”
配置:JDBC数据源连接缓冲池的设置
进入weblogic控制台“服务”—〉“JDBC”—〉“数据源”—〉“连接缓冲池”
配置“初始容量”、“最大容量”,一般情况下“初始容量”、“最大容量”配置为等比例,与weblogic线程数相当。
配置完成后重启weblogic对应的服务
配置:检查配置是否生效
进入weblogic控制台“环境”—〉“服务器”—〉选择对应服务如:“Server-BPEngine”—〉“监视”,可通过查看“线程”、“JDBC”连接数是否正常修改
4、原因分析
性能问题造成的因素有很多如:oracle、weblogic、IO等
5、经验总结
在针对Weblogic进行调优的过程中,要注意先进行备份,先备份“config.xml”、“startManagedWebLogic.cmd”、unix上“startManagedWebLogic.sh”
6、技术人员
国家电网东北分部信息公司杨喜亮
关于输电项目Weblogic安装的运维经验
报送单位:北京公司审核人:类型:基础应用
关键字:Weblogic LINUX
1、引言
目前北京市电力输电公司需要将安装多套Weblogic,且安装版本、目录、及所需功能完全一样。
如按照正常方式安装则需要在每台机器进行对应有操作系统配置和Weblogic安装需要对利用字符界面进行设置,针对以上问题在该项目中Weblogic安装采用静默安装。
2、处理过程
1)安装操作系统
安装RedHat 5.4 x86_64操作系统。
2)进行双网卡绑定配置
首先将网卡的工作模式修改为混杂模式,这种模式下网卡可以接受网络上所有帧。
其次,配置虚拟网络接口配置文件,在文件中指定虚拟网卡的IP地址,子网掩码,负载均衡模式等配置,最后,编辑模块文件,使在系统启动时加载bonding模式,重新启动网络服务后会有新的绑定网卡。
3)执行操作系统配置脚本如下
groupadd -g 601 bea
useradd -g bea -u 1101 -d /home/weblogic weblogic
passwd weblogic << EOF
bjsd#weblogic
bjsd#weblogic
EOF
mkdir /weblogic
chown -R weblogic:bea /weblogic
#sysctl
MEM_SIZE=`expr \`cat /proc/meminfo | grep MemTotal | awk '{print $2}'\` \* 1024`
echo "" >> /etc/sysctl.conf
echo "" >> /etc/sysctl.conf
echo "#For weblogic" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = $MEM_SIZE" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "fs. = 65536" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 2097152" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048576" >> /etc/sysctl.conf sysctl -p
#LIMIT
cat >> /etc/security/limits.conf <<EOF
weblogic soft nproc 2047
weblogic hard nproc 16384
weblogic soft no
weblogic hard no
EOF
cat >> /etc/pam.d/login <<EOF
session required pam_limits.so
EOF
cat >> /etc/profile <<EOF
if [ \$USER = "weblogic" ] ; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
if
umask 022
if
EOF
以上脚本会自动创建weblogic用户、对操作系统进行内核参数及limit调整。
4)上传安装介质
在操作系统Red Hat 5.4 x86_64上需要安装以下软件:
Weblogic软件包:server103_generic.jar
JDK软件包:jdk-6u25-linux-x64.bin
上传静默安装配置
5)上传静默安装配置脚本
将silent.xml上传至和server103_generic.jar相同目录
<?xml version="1.0" encoding="UTF-8"?>
<domain-template-descriptor>
<input-fields>
<data-value name="BEAHOME" value="/weblogic" />
<data-valuename="USER_INSTALL_DIR"
value="/weblogic/wlserver_10.3" />
<data-value name="INSTALL_NODE_MANAGER_SERVICE" value="no" />
<data-value name="COMPONENT_PATHS" value="WebLogic Server" />
</input-fields>
</domain-template-descriptor>
6)执行安装Weblogic脚本
su - weblogic
MEDIA_HOME=/home/weblogic/soft
chmod u+x $MEDIA_HOME/jdk-6u25-linux-x64.bin
cd /weblogic/
$MEDIA_HOME/jdk-6u25-linux-x64.bin << EOF
EOF
echo"exportJAVA_HOME=/weblogic/jdk1.6.0_25">>
/home/weblogic/.bash_pro"exportCLASS_PATH=\$JAVA_HOME/lib:\$CL ASS_PATH:." >> /home/weblogic/.bash_pro"exportPATH=\$JAVA_HOME/bin:\$PATH:." > > /home/weblogic/.bash_pro
su - weblogic
MEDIA_HOME=/home/weblogic/soft
cd $MEDIA_HOME
java -jar server103_generic.jar -mode=silent -silent.xml=silent.xml -log=silent.log
rm -rf $MEDIA_HOME
以上脚本会自动安装jdk,并进行java环境变量的配置。
在配置完成后进行weblogic的静默安装。
5)对主机及数据库进行安全加固
对主机安全加固:
密码策略:
默认权限UMASK
空闲超时
关闭多余服务
锁定多余账户
禁止root远程登陆
禁止非管理员用户,切换到root用户
防止组合键关机
屏蔽banner 信息
对数据库安全加固:
3、经验总结
在本次安装中采用了shell脚本方式对操作系统进行相应的配置。
在安装Weblogic时使用Weblogic静默响应脚本直接配置安装参数,可以更加方便直观的对其安装参数进行配置,方便安装参数的调整。
在以后的Weblogic安装中可以直接使用该脚本进行安装,减少配置操作系统参数的复杂程度,从而减小出现问题的概率,以及节约更多的时间。
4、技术人员
王嘉欣
Weblogic回收数据库连接数配置的方法
报送单位:河北公司审核人:康之增类型:业务应用
关键字:Weblogic、数据库连接
1、引言
在信息运维工作中发现,由于部分应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池益处,影响系统的稳定运行。
其实Weblogic提供了数据库连接的回收机制,可以将超过配置时间没有活动的数据库连接进行强制回收。
2、现象描述
应用系统的数据库连接数设置明显比预测的值要高,但还是出现数据库连接数不足的问题。
<BEA-000627> <Reached maximum capacity of pool "JDBC-YCPX", making "0" new resource instances instead of "200".>
3、处理过程
修改JDBC高级配置参数:Configuration→Connection Pool→Advanced。
此参数的含义为:保留连接处于不活动状态的时间(单位:S),设置的时间过后WebLogic将强制收回未由应用程序关闭的连接。
请注意,不能使用此功能来代替正常关闭连接。
如果设置为0,此功能将被禁用。
建议修改参数值为300(5分钟后,如果当前连接仍然处于不活动状态,此连接将会收回)
4、原因分析
应用系统编写的代码不够健壮,对于数据库连接没有及时进行回收处理,造成Weblogic数据库连接池益处,影响系统的稳定运行。
5、经验总结
解决数据库连接数不足的问题,可以增加数据库连接数配置,但通过应用系统登录人数预测,数据库连接数配置可以满足业务需求的情况下,如果还是出现数据库连接数不足的问题,应该确定应用系统的代码存在没有及时回收数据库连接的问题,可以配置通过Weblogic强制回收数据库连接。
Weblogic数据库连接配置注意一下方面:
1)设置连接池容量的初始值等于最大值,减少新建连接的开销。
2)开启WebLogic强制回收连接。
Inactive Connection Timeout(一定
时间后强制收回连接)参数。
3)当数据库不稳定时,可打开Test Reserved Connections高级参数。
6、技术人员
河北省电力公司信息中心姚喜亮 5
在Apache和Weblogic中分别部署静态页面的方法
报送单位:北京公司审核人:类型:业务应用
关键字:Weblogic Apache
1、引言
目前北京市电力公司在部署应用时使用Weblogic中间件做为应用服务器,在应用中有很多页面属于静态页面,本次测试具体分析将应用部署在Weblogic 上Apache只做代理和不仅让Apache做前端代理服务器,而且将静态页面部署在Apache里,动态页面部署在Weblogic里的区别,得出在不同情况下部署web应用的最佳实践方法。
2、现象描述
两种方式的区别: 方式一是将所有请求都由Apache转发到指定的Weblogic服务器。
方式二实现了动态页面和静态页面分开,当客户端请求静态页面时,直接使用Apache处理请求并返回给客户端,而客户端请求动态页面时,由Apache转发到指定的Weblogic服务器。
3、处理过程
通过测试这两种不同的部署方式来找出详细的区别,首先在分别在Weblogic和Apache 中分别部署同样的静态页面,通过Apache代理访问。
测试结果对比:
测试总结: Weblogic处理静态页面,CPU占用率高,会加重服务器负担。
如果用Apache代理服务器处理静态页面, 静态页面和动态页面分开处理,Weblogic不参与静态页面的处理,如果客户端不访问动态页面,Weblogic则不提供服务,能充分减轻服务器压力。
采用Apache处理静态页面的的时间一般都比Weblogic处理静态页面的时间快,且Apache服务器在浏览器刷新的基础上采用的是304状态码的响应,能节省服务器,优势比较明显。
4、经验总结
通过对CPU占用率测网页数据量以及时间和状态码的分析,都能看出使用Apache做Weblogic的前端代理,把静态页面部署在Apache中优势很明显,方式二的部署方式是正确可行的。
如果启用apache压缩传输,会减少数据传输量,有效减少流量,但是压缩时,占用CPU提高。
如果硬件设备达不到要求,建议不启用。
在以后部署时可以将部分静态页面转到apache以提高整体应用的性能。
5、技术人员
李春海王嘉欣
Weblogic Server性能调优经验
报送单位:国网信通公司审核人:王蕊类型:主机网络
关键字:Weblogic、调优
1、引言
WebLogic是一款典型的应用服务平台,应用比较广泛。
其参数设置和优化对系统承载能力和服务能力十分重要。
主要讨论Weblogic Server性能调优方法和经验,供技术人员参考。
2、处理过程
WebLogic Server的核心组件由监听线程,套接字复用器和可执行线程的执行队列组成。
当服务器由监听线程接收到连接请求后,将对它的连接控制权交给等待接收请求的套接字复用器。
然后套接字复用器读取离开套接字的请求,并将此请求及相关安全信息或事务处理环境一起置入适当的执行队列中(一般为默认的执行队列)。
当有一个请求出现在执行队列中时,就会有一个空闲的执行线程从该队列中取走发来的该请求,并返回应答,然后等待下一次请求。
因此要提高WebLogic的性能,就必须从调整核心组件性能出发。
1)尽量使用本地I/O库
WebLogic Server有两套套接字复用器:Java版和本地库。
采用小型本地库更有效,尽量激活Enable Native IO(默认),此时UNIX默认使用CPUs+1个线程,Window下为双倍CPU。
如果系统不能加载本地库,将会抛出
ng.UnsatisfiedLinkException,此时只能使用Java套接字复用器,可以调整socket readers 百分比,默认为33%。
该参数可以在Console Server Tuning Configuration配置栏里设置。
2)调整默认执行线程数
理想的默认执行线程数是由多方面的因素决定的,比如机器CPU性能、总线体系架构、I/O、操作系统的进程调度机制、JVM的线程调度机制。
WebLogic 生产环境下默认的线程为25个,随着CPU个数的增加,WebLogic可以近乎线性地提高线程数。
线程数越多,花费在线程切换的时间也就越多,线程数越小,CPU 可能无法得到充分利用。
为获取一个理想的线程数,需要经过反复的测试。
在测试中,可以以25*CPUs为基准进行调整。
当空闲线程较少,CPU利用率比较低时,可以适当增加线程数的大小(每五个递增)。
对于PC Server 和Window 2000,则最好每个CPU小于50个线程, 以CPU利用率为90%左右为佳。
由于目前WebLogic执行线程没有缩小线程数的功能,所以应将参数Threads Increase设置为0,同时不应改变优先级的大小。
3)调整连接参数
WebLogic Server用Accept Backlog参数规定服务器向操作系统请求的队列大小,默认值为50。
当系统重载负荷时,这个值可能过小,日志中报Connection Refused,导致有效连接请求遭到拒绝,此时可以提高Accept Backlog 25%直到连接拒绝错误消失。
对于Portal类型的应用,默认值往往是不够的。
Login Timeout和SSL Login Timeout参数表示普通连接和SSL连接的超时时间,如果客户连接被服务器中断或者SSL容量大,可以尝试增加该值。
这些参数可以在Console Server Tuning Configration配置栏里找到。
4)创建新的执行队列
创建新的执行队列有助于解决核心业务优先、避免交叉阻塞、死锁和长时间处理的业务等问题。
通常会将自己的执行队列和默认的执行队列设置不同的优先级, 这里优先级不应设为9或者10。
定义一个新的执行队列很容易,利用View Excute Queue选项中的Configure a new Excute Queue链接即可定制新的执行队列。
创建新的执行队列后,用户需要为应用程序的J2EE组件配置分配策略,以便它可以找到新的队列。
举个例子:要将servlet或jsp捆绑到一个特定的执行队列,必须替换web.xml文件项,将wl-dispatch-policy初始化参数设置为自己的执行队列名。
servletname/directoryname/deployment.jsp
wl-dispatch-policy NewExecuteQueueName
我们可以为一个jsp或者servlet乃至一个WEB应用设置自己的执行队列。
同时也可以为EJB设置自己的执行队列。
对于执行时间比较长的MDB,建议使用自己的执行队列。
5)JDBC调优
调整连接池配置
JDBC Connection Pool的调优受制于WebLogic Server线程数的设置和数据库进程数,游标的大小。
通常我们在一个线程中使用一个连接,所以连接数并不是越多越好,为避免两边的资源消耗,建议设置连接池的最大值等于或者略小于线程数。
同时为了减少新建连接的开销,将最小值和最大值设为一致。
增加Statement Cache Size对于大量使用PreparedStatement对象的应用程序很有帮助,WebLogic能够为每一个连接缓存这些对象,此值默认为10。
在
保证数据库游标大小足够的前提下,可以根据需要提高Statement Cache Size。
比如当你设置连接数为25,Cache Size为10时,数据库可能需要打开25*10=250个游标。
不幸的是,当遇到与PreparedStatement Cache有关的应用程序错误时,你需要将Cache Size设置为0。
尽管JDBC Connection Pool提供了很多高级参数,在开发模式下比较有用,但大部分在生产环境下不需调整。
这里建议最好不要设置测试表, 同时Test Reserved Connections和Test Released Connections也无需勾上。
当然如果你的数据库不稳定,时断时续,你就可能需要上述的参数打开。
最后提一下驱动程序类型的选择,以Oracle为例,Oracle提供thin驱动和oci驱动。
从性能上来讲,oci驱动强于thin驱动,特别是大数据量的操作。
但在简单的数据库操作中,性能相差不大,随着thin驱动的不断改进,这一弱势将得到弥补。
而thin驱动的移植性明显强于oci驱动。
所以在通常情况下建议使用thin 驱动。
3、经验总结
WebLogic Server性能优化是一个持续改进过程,需要根据应用用户规模、应用场景不断完善。
4、技术人员
国网信通公司客服中心闫龙川联系方式51967185
WeblogicJVM堆参数设置方法
报送单位:安徽公司审核人:王萍类型:基础应用
关键字:JVM、堆、参数
1、引言
在我们使用的中间件中如websphere、weblogic等都会对JVM堆的参数进行相关设置,其目的是为了更好的完成JVM的垃圾回收,充分发挥中间件的性能。
2、参数意义
JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。
32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制(在硬件条件允许的情况下设置)。
在我们启动如weblogic服务的时候,如果你注意,可以看到如下的一段信息:
java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0 -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy
XX:+UseConcMarkSweepGC -XX:+UseParNewGC
这些信息到底代表的是什么意义呢?接下来,我向你解释一下,因为你使用这些参数中的一些,或者是全部会对我们的系统的稳定运行是有影响的。
JVM 的堆主要分为3块:年轻代(包含Eden和两个Survivor)、年老代和持久代。
这里以weblogic为例。
在weblogic8系列以前的版本中,对JVM堆的参数设置是在bin目录下“setWeblogic.cmd/sh”文件中完成。
从weblogic9系列开始,这些参数只要是在bin目录下“setDomianEnv.cmd/sh”文件中完成,并执行后生效。
这些参数的意义如下:
-Xmx3550m:设置JVM最大可用内存为3550M。
-Xms3550m:设置JVM促使内存为3550m。
此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn2g:设置年轻代大小为2G。
整个堆大小=年轻代大小+ 年老代大小+ 持久代大小。
持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。
此值对系统性能影响较大,官方推荐配置为整个堆的3/8。
-Xss128k:设置每个线程的堆栈大小。
JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。
在相同物理内存下,减小这个值能生成更多的线程。
-XX:NewRatio=4 :设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。
设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5。
-XX:SurvivorRatio=4 :设置年轻代中Eden区与Survivor区的大小比值。
设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6 。
-XX:MaxPermSize=16m: 设置持久代大小为16m。
-XX:MaxTenuringThreshold=0:设置垃圾最大年龄。
如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。
对于年老代比较多的应用,可以提高效率。
如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。
-XX:+UseParallelGC:选择垃圾收集器为并行收集器。
此配置仅对年轻代有效。
即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集。
-XX:ParallelGCThreads=20:配置并行收集器的线程数,即:同时多少个线程一起进行垃圾回收。
此值最好配置与处理器数目相等。
-XX:+UseParallelOldGC:配置年老代垃圾收集方式为并行收集。
JDK6.0支持对年老代并行收集。
-XX:MaxGCPauseMillis=100 :设置每次年轻代垃圾回收的最长时间,如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值。
-XX:+UseAdaptiveSizePolicy :设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开。
-XX:+UseConcMarkSweepGC:设置年老代为并发收集。
-XX:+UseParNewGC: 设置年轻代为并行收集。
可与CMS收集同时使用。
JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值。
3、经验总结
很多参数的设置和调整与JDK的版本有直接的关系,如回收器的选择有:串行收集器、并行收集器、并发收集器,但是串行收集器只适用于小数据量的情况,所以最好选择并行收集器和并发收集器。
但是JDK5.0以前都是使用串行收集器,如果想使用其他收集器需要在启动时加入相应参数就必须使用JDK6.0以上版本。
有关JVM堆的参数有很多,但是并不是设置的越多就越能发挥JVM的性能。
其实在这些参数设置完成启动后,都或多或少的占用部分系统的资源,造成系统资源负担较大。
我们要结合业务环境的实际情况,逐步来调整和添加这些参数,让JVM为我们服务更加稳定。
4、技术人员
安徽信通分公司王丽
安徽南瑞继远软件有限公司倪家传。