weblogic调优笔记
- 格式:pdf
- 大小:275.02 KB
- 文档页数:11
weblogic java_option 参数WebLogic Server提供了一系列的Java选项参数,以控制Java 虚拟机的行为。
以下是一些常用的Java选项参数:1. -Xms: 初始Java堆大小2. -Xmx: 最大Java堆大小3. -XX:PermSize: 初始永久代大小4. -XX:MaxPermSize: 最大永久代大小5. -XX:NewSize: 初始新生代大小6. -XX:MaxNewSize: 最大新生代大小7. -XX:SurvivorRatio: 新生代中Eden区和Survivor区的比例8. -XX:NewRatio: 新生代和老年代的大小比例9. -XX:ParallelGCThreads: 并行垃圾回收线程数10. -XX:+UseParallelGC: 使用并行垃圾回收11. -XX:MaxGCPauseMillis: 最大垃圾回收暂停时间12. -XX:+HeapDumpOnOutOfMemoryError: 在发生OutOfMemoryError时输出堆转储文件13. -Dweblogic.security.SSL.ignoreHostnameVerification=true: 忽略SSL主机名验证14. -Dweblogic.security.SSL.protocolVersion=TLSv1.2: 使用TLSv1.2协议进行SSL/TLS通信15. -Dweblogic.MaxMessageSize: 设置WebLogic通信最大消息大小请注意,这只是一些常用的Java选项参数,您可以根据应用程序的需要进行调整。
对于一些高级调优参数,建议咨询WebLogic Server的官方文档。
软件性能优化心得体会随着企业级开发平台诸如J2EE的普及和发展,越来越多的企业应用采用了这些技术作为快速开发平台,但是,这些应用也面临着一些困扰,特别是性能问题。
这主要是由这些系统的分布性、复杂性和数据无关性引起的。
高性能是软件高质量的重要体现,也是用户满意度提高的重要软件特征,为了提高软件的性能,在这次培训中,老师从以下几个层次讨论软件性能优化。
一、Java底层代码的性能优化1、首先根据Jvm虚拟机的内存机制来优化系统堆(Heap)是一个复杂的结构,对象及其成员通常保存在堆中。
运行时在数据区, 动态创建,堆中的内容由GC 负责回收。
栈(Stack)是一个简单的结构,方法的参数(基本型别的值、指向对象的引用)通常保存在栈中。
栈中的内容在方法执行完时就被回收了。
栈的存取速度比堆要快,栈数据可以共享,存在栈中的数据大小与生存期必须是确定的,栈中主要存放一些基本类型的变量(,int, short, long, byte, float, double, boolean, char)和对象句柄。
使用局部变量的好处在于作用范围是变量定义的方法内部,一旦离开作用域,栈内存将被快速释放,与GC无关,而其他变量,如静态变量、实例变量等,都在堆(Heap)中创建,速度较慢,但是可以自动回收。
所以要尽量使用局部变量。
在这里,培训的老师举了个人例子Afor(int i=0;i<10000; i++){Object o = new Object();}BObject o = null;for(int i=0;i<10000; i++){o = new Object();}A和B之间究竟哪个性能更加好呢?在这里A和B的唯一区别在于,B在循环体外定义Object,而A是在循环体内定义Object,显然A的Object作用域是在局部,一旦执行下一轮循环,立即释放原先定义的Object,而B 的Object作用域是在全局,必须等到循环全部结束,Object才能被释放,因此A的性能要好于B,而且两者运行速度不是一个数量级。
Weblogic参数调优一、调优背景:应银监会总会需求,需对银监会派出机构客户风险监测预警系统进行1轮剔除网络环境的性能测试(在山东试运行阶段的性能测试,由于网络瓶颈较大,造成性能指标较差)。
由于时间紧张,只是匆忙搭建了测试环境,Weblogic、DB2等的参数均是默认设置,并未进行任何调优。
默认设置在系统使用人数不多的情况性能尚可,但当使用人数较多,或者进行大并发的性能测试时,则会显得捉襟见肘。
如:在本次测试过程中,在集团关联处的50并发,就会造成系统崩溃。
如图可见:在集团关联并发50的时候,队列长度已经高达103,空闲线程数已经为0,同时吞吐量极低,由此造成系统崩溃。
通过分析,查找到原因在于:JVM分配内存过少;线程池、连接池里分配的线程数以及容量过低,通过调优后解决了问题二、调优思路:一般来讲,J2EE应用架构环境下的系统调优,首先我们一般会从应用程序出发,去审核代码,做到代码级的优化,然后再调整应用服务器(BEA WebLogic8.1)和数据库(DB2)的参数,最后当然是调整操作系统和网络的性能(包括硬件升级)。
这是一种MDA的先进做法。
诚然,在许多项目中,不可能完全按照这个思路来做,我们把目标首先定位在应用系统所在的应用服务器(BEA WebLogic8.1)上,通过对BEA WebLogic8.1的参数进行设置,使WebLogic8.1能够在最优化的环境中去运行其系统,然后对DB2数据的参数进行优化设置,最后进行性能测试再找出导致性能瓶颈所在的SQL代码或JA V A程序,考量其修改的可行性,并进行最终问题优先级认定,与瓶颈模块进行协商解决性能问题。
当然,大多数时候都出现了性能问题后才想到调优,而且一般都是先进行系统参数调整,实在解决不了才会对代码进行检查。
实际上,我们应当将代码级的调优放在应用设计时来做,测试生产时修改代码将是一件极其痛苦的事情。
而本次测试由于时间紧张,只对Weblogic进行了参数调优,现将调优步骤进行说明:1.JVM调整:(1)首先,在D:\bea\user_projects\domains\mydomain下用编译模式打开startWebLogic.cmd,查找代码:call "%WL_HOME%\common\bin\commEnv.cmd"(windows)或者call "%WL_HOME%\common\bin\commEnv.sh"(linux/aix)找到后,在相应路径用编译模式打开该文件:(2)接着要弄清楚JDK厂商(是bea,还是sun、IBM等)set JA V A_VENDOR=BEA(此处说明应用的为BEA的JDK)(3)之后查找weblgoic运行模式:set PRODUCTION_MODE=默认是开发模式(线程计数默认为15)即为空,在上线时,应将其改为产品模式(线程计数默认为25):set PRODUCTION_MODE=ture(4)然后需修改分配给JVM的内存(默认为96M):因已确定厂商为BEA,运行模式为产品模式,所以找到::beaif "%PRODUCTION_MODE%" == "true" goto bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024mset JA V A_OPTIONS=%JA V A_OPTIONS% -Xverify:nonegoto continue:bea_prod_modeset JA V A_VM=-jrockitset MEM_ARGS=-Xms1024m -Xmx1024m(此处即为分配给JVM的内存范围)goto continue可根据系统需要,修改分配的内存数注:如为32位的操作系统,则最大支持分配2G内存2.线程池调整:打开Weblogic,在路径:mydomain->服务器->myserver->右键打开“查看执行队列” weblogic.kernel.Default调整如下指标:(1) 线程计数—分配给此队列的线程数,建议值为: 100(2) 线程数增加—在出现溢出时,要添加到队列中的线程数,建议值为: 50(3) 最大线程数—此队列可以拥有的最大线程数。
图形化操作是在工作管理器中新建两个约束min和max如何修改WebLogic 9.x / 10.x 默认线程池大小2010/10/10 12:39 AM | 教主| 技术文章| 2 条评论了已经作者:老王来源:WebLogic中文爱好者官方文档指出,WebLogic 9 / WebLogic 10 的线程池是自调优的,并且在WebLogic 9的时候,通过修改config.xml可以修改默认线程池的最小值、最大值,但是很麻烦。
到了WebLogic 10gR3,连修改config.xml的办法都给取消了。
但是,可以通过在启动脚本增加如下参数,可以指定默认线程池的最小值、最大值:-Dweblogic.threadpool.MinPoolSize=100-Dweblogic.threadpool.MaxPoolSize=500如何修改weblogic默认线程池大小2010年12月27日wei发表评论阅读评论weblogic 9开始使用了线程自调优技术。
通过以下方法设置,可以指定默认线程的最大最小值。
方法一:修改启动脚本参数在启动脚本中,增加如下参数%JAVA_HOME%\bin\java %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%=%SERVER_NAME%-Djava.security.policy=%WL_HOME%\server\lib\weblogic.policy-Dweblogic.threadpool.MinPoolSize=100 -Dweblogic.threadpool.MaxPoolSize=500%PROXY_SETTINGS% %SERVER_CLASS%方法二:修改config.xml在config.xml中,增加如下参数<server><name>AdminServer</name><self-tuning-thread-pool-size-min>100</self-tuning-thread-pool-size-min> <self-tuning-thread-pool-size-max>500</self-tuning-thread-pool-size-max> <listen-port>7923</listen-port><listen-address></listen-address></server>经过测试,以上两种方法适合weblogic9,10,11g。
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 spaceatoracle.jdbc.driver.OracleStatement.prepareAccessors(OracleStatement.ja va:868)atoracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatem ent.java:1045)atoracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPre paredStatement.java:839)atoracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatem ent.java:1132)atoracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepa redStatement.java:3316)atoracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3361)经过对报错日志分析,状态检修的CBM处理进程内存溢出报错,导致服务器宕机。
社区Weblogic应用层优化调试设置
以Weblogic为中间件的社区应用层,有以下性能优化设置供参考。
1、设置为生产模式,增大连接数据
进入weblogic console 点击左边对应的域名,勾选右边的生产模式。
2、Weblogic登录超时时间
进入weblogic console界面,点击左边对应的域名,再点击监视,再点击服务器/子系统名称AdminServer ,再点击调整,可以看到如下图。
3、设置weblogic 占用的内存值
进入weblogic安装域名目录所在的bin文件夹,修改setDomainEnv.sh 文件根据物理机的实际情况设置内存值
4、设置应用服务数据库连接数据
打开应用程序xp-app 的jdbc数据连接文件
根据oracle实际连接数修改jdbc连接数
Oracle连接数据查看show parameter processes;
5、不限制事务数量
修改服务的事务处理数量限制,修改xp-app应用服务的jta.properties
超出默认的50会报错误
Caused by: ng.IllegalStateException: Max number of active transactions reached:50
6、优化程序代码
在weblogic安装域目录下的log日志可以看到严重超时方法。
优化WebLogic一、为WebLogic启动设置Java参数垃圾收集(GC)是指JVM释放Java堆中不再使用的对象所占用的内存的过程,而Java堆(Heap)是指Java应用程序对象生存的空间。
堆大小决定了GC的频度和时间。
堆越大,GC频度低,速度慢。
堆越小,GC频度高,速度快。
所以GC和堆大小是一组矛盾。
为了获取理想的Heap堆大小,需要使用-verbosegc参数(Sun jdk: -Xloggc:<file>)以打开详细的GC输出。
分析GC的频度和时间,结合应用最大负载所需内存情况,得出堆的大小。
通常情况下,我们建议使用可用内存(除操作系统和其他应用程序占用之外的内存)70-80%,为避免堆大小调整引起的开销,设置内存堆的最小值等于最大值即:-Xms=-Xmx。
而为了防止内存溢出,建议在生产环境堆大小至少为256M(Platform至少512M),实际环境中512M~1G左右性能最佳,2G以上是不可取的,在调整内存时可能需要调整核心参数进程的允许最大内存数。
对于sun 和hp的jvm,永久域太小(默认4M)也可能造成内存溢出,应增加参-XX:MaxPermSize=128m。
建议设置临时域-Xmn的大小为-Xmx的1/4~1/3, SurvivorRatio为8堆栈内存优化,修改配置文件:WL_HOME=C:\bea\weblogic81 "%WL_HOME%\common\bin\commEnv.cmd":bea#如果采用的上bea的JDK# JVM Heap(堆内存)最小尺寸为96M,最大尺寸为256Mset MEM_ARGS=-Xms96m -Xmx256m:sun#如果采用的是sun的JDK# JVM Heap(堆内存)最小尺寸为32M,最大尺寸为200M#公共变量对象的内存限制: PermSize:最小尺寸, MaxPermSize :最大允许分配尺寸set MEM_ARGS=-Xms32m -Xmx200m -XX:MaxPermSize=128m监视堆栈使用情况:下载JRockit JDK,该JDK已经自带了JRockit Mission Control工具,目前好像还没有单独下载JRockit Mission Control的地方,于JRockit JDK进行了绑定下载;在C:\bea\jrockit81sp5_142_08\console目录里面运行:C:\bea\jrockit81sp5_142_08\bin\java –Xmanagement -jar ManagementConsole.jar 如何监控weblogic呢?修改weblogic启动脚本startWebLogic.cmd,在里面加入-Xmanagement启动参数:%JAVA_HOME%\bin\java -Xmanagement %JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS% =%SERVER_NAME% -Dweblogic.ProductionModeEnabled=%PRODUCTION_MODE% -Djava.security.policy="%WL_HOME%\server\lib\weblogic.policy" weblogic.Server二、设置与性能有关的配置参数在一个WebLogic域中,配置文件(config.xml)位于与管理服务器通信的机器里,提供WebLogic MBean的长期存储。
weblogic调优参数对Weblogic的调优主要从SEVER、ExecuteQueue、JDBC等几个方面的相关参数进行调优:一、SERVER在mydomain->Servers->myserver->Configuration->Tuning->“Enable Native IO”中: 1、Native IOEnabledTRUE,表示该Server使用本地I/O2、SocketReaders设置在执行线程中专用做Socket Readers的百分比3、Maximum Open Sockets最大打开Socket数4、Stuck Thread MaxTime堵塞线程时间,超过这个时间没有返回的执行线程,系统将认为是堵塞线程如果weblogic认为某个队列中的所有的线程全部堵塞的话,weblogic将会增加执行线程的数量。
注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。
5、Stuck Thread Timer Interval系统检查堵塞线程的时间间隔6、Low Memory GC Threshold当可用内存小于该百分比时,垃圾回收启动7、Low Memory Granularity Level当两次检测的可用内存变化超过该百分比时,垃圾回收启动8、Low Memory Sample Size在一次检测中的取样次数9、Low Memory Time Interval检测间隔时间10、Accept Backlog等待队列中最多可以有多少TCP连接等待处理,如果在许多客户端连接被拒绝,而在服务器端没有错误显示,说明该值设得过低。
如果连接时收到connection refused消息,说明应提高该值,每次增加25%二、ExecuteQueue在mydomain->Servers->myserver ->Monitoring->Monitor all Active Queues... ->Configuration->weblogic.kernel.Default->1、ThreadCount服务器初始创建的执行线程的数量,设置原则:增大机器的最大并发线程数使处理器利用率达到最大。
Weblogic10_for_linux安装笔记1.1 部署前准备把WebLogic的bin包放在一个临时目录上(如:/software).a、创建weblogic用户组。
useradd weblogicpasswd weblogic(修改weblogic密码)b、创建/oracle/weblogic目录,修改目录所有者权限mkdir /oracle/weblogicchown –R weblogic:weblogic /oracle/weblogic1.2 安装WebLogic10赋予.bin可执行权限:chmod a+x server103_linux32.bin执行./server103_linux32.bin进入控制台安装的欢迎界面,键入[Next]继续此时出现授权许可协议,读完后键入[Yes]继续提示选择一个BEA主目录:/oracle/weblogic,其他参照以下截图。
1.3新建domain使用WebLogic用户登录系统:/oracle/weblogic/wlserver_10.3/common/bin[root@linux-test bin]# cd /[root@linux-test /]# su - weblogic[weblogic@linux-test ~]$ cd /oracle/weblogic/wlserver_10.3/common/bin [weblogic@linux-test bin]$ pwd/oracle/weblogic/wlserver_10.3/common/bin回车回车选择2,修改密码,我修改为weblogic 选择3,确认密码,我也输入weblogic 回车选择SUN SDK 1.5.0_12,回车回车(一般修改到/opt/mss/mssdomain目录,/opt/mss需手工建,注意目录权限)输入domain名字weblogic10mss,回车回车1.4启动weblogic[weblogic@linux-test weblogic10mss]$ pwd/oracle/weblogic/user_projects/domains/weblogic10mss[weblogic@linux-test weblogic10mss]$ ./startWebLogic.sh..JA V A Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=128m.WLS Start Mode=Production.CLASSPATH=:/oracle/weblogic/patch_wlw1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/oracle/weblogic/patch_wls1030/profiles/default/sys_manifest_classpath/weblogic_pat ch.jar:/oracle/weblogic/patch_cie660/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/ oracle/weblogic/jdk160_05/lib/tools.jar:/oracle/weblogic/wlserver_10.3/server/lib/weblogic_sp.jar :/oracle/weblogic/wlserver_10.3/server/lib/weblogic.jar:/oracle/weblogic/modules/features/weblog ic.server.modules_10.3.0.0.jar:/oracle/weblogic/wlserver_10.3/server/lib/webservices.jar:/oracle/w eblogic/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/oracle/weblogic/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar::/oracle/weblogic/wlserver_10.3/common/eval/pointbase/lib/pbclie nt57.jar:/oracle/weblogic/wlserver_10.3/server/lib/xqrl.jar::.。
1 WEBLOGIC服务器管理概述10域、管理服务器与受管服务器10启动管理控制台12运行时对象与配置对象12日志消息的集中访问14W EB L OGIC管理服务器与W EB L OGIC受管服务器15启动时的错误消息15启动W EB L OGIC管理服务器15WebLogic服务器启动时的口令使用16从Start菜单启动WebLogic管理服务器16启动与终止Windows服务形式的WebLogic服务器16从命令行启动WebLogic管理服务器17用脚本启动管理服务器20在受管服务器运行时重启管理服务器 20在同台机器上重启管理服务器21在其它机器上重启管理服务器21将W EB L OGIC受管服务器加入到域22启动W EB L OGIC受管服务器22通过脚本启动W EB L OGIC受管服务器 24从老版本W EB L OGIC服务器升级 25从管理控制台终止W EB L OGIC服务器 25从命令行停止服务器25暂停和恢复受管服务器26将W EB L OGIC服务器设置为W INDOWS服务26删除W INDOWS服务形式的W EB L OGIC服务器27更改安装成Windows服务的服务器口令27注册启动与终止类282 节点管理器 29节点管理器概述29配置与启动节点管理器30启动节点管理器31启动管理服务器323 配置WEBLOGIC服务器与集群35服务器与集群配置概述35管理服务器的角色35启动管理控制台37动态配置的工作原理38集群配置规划38- 1 -服务器配置任务列表39集群配置列表41新建一个域42概述43监控服务器44终止或暂停服务器45性能45集群数据46服务器安全46JMS 47JTA 47监控JDBC连接池 47管理控制台的M ONITORING页面一览表484 用日志消息管理WEBLOGIC服务器51日志子系统概述51本地服务器的日志文件53启动日志53客户端日志54日志文件的格式54消息属性54消息目录55消息的严重级别55消息调试56浏览日志文件56查看日志56创建域日志过滤器575 分发应用58分发格式58用管理控制台分发应用58步骤1:配置与分发应用59步骤2:分发应用组件 59分发顺序61自动分发62启用或禁用自动部署62动态分发64启用与禁用自动分发64自动分发展开目录格式的应用64卸载或重新分发被自动分发的应用656 配置WEBLOGIC服务器的WEB组件66- 2 -概述66HTTP参数66配置监听端口67W EB应用68Web应用与集群68指定缺省的Web应用68配置虚拟主机70虚拟主机与缺省Web应用70设置虚拟主机71W EB L OGIC服务器如何解析HTTP请求72设置HTTP访问日志73日志回旋(Log Rotation)73使用管理控制台设置HTTP访问日志 73普通日志格式74使用扩展日志格式75防止“POST拒绝服务”攻击80设置W EB L OGIC服务器的HTTP隧道 81配置HTTP隧道连接81建立客户端与WebLogic服务器之间的连接82用本地I/O提供静态文件服务(只适用于W INDOWS)827 代理对另一个HTTP服务器的请求 84概述84设置从服务器的代理84代理S ERVLET的分发描述符示例858 代理对WEBLOGIC集群的请求87概述87设置H TTP C LUSTER S ERVLET 87H TTP C LUSTER S ERVLET的分发描述符示例889 91配置W EB应用的安全性91设置对Web应用的授权91多Web应用、Cookies与身份验证92限制对Web应用资源的访问92在servlet中使用用户和角色94配置W EB应用的外部资源96在W EB应用中引用EJB S97配置会话管理98HTTP会话属性98- 3 -会话超时98配置会话Cookies 99使用长效cookies 99配置持久化会话100通用属性100使用基于内存的、单服务器的、非复制的持久存储 101使用基于文件的持久存储101使用基于数据库的持久存储 102使用URL重写103URL重写的编码指南104URL重写与无线访问协议(WAP) 104使用字符集与POST数据10410 配置APACHE-WEBLOGIC服务器插件106概述106平台支持107安装库107配置HTTPD.CONF文件109通过URL代理109通过MIME文件类型代理110A PACHE-W EB L OGIC S ERVER插件的参数110使用SSL协议112与SSL-A PACHE配置有关的问题 113H TTPD.CONF文件示例114配置文件示例115使用WebLogic集群的例子115不使用WebLogic集群的例子115配置虚拟主机的例子116分发A PACHE-W EB L OGIC S ERVER插件11611 配置MICROSOFT-IIS插件117概述117连接池以及保持活动状态117安装库118更新IIS设置使请求转给W EB L OGIC118创建IIS P ROXY.INI文件119文件扩展名方式的请求代理 122路径方式的请求代理123.ini文件示例123使用SSL 124将SERVLETS请求转交给W EB L OGIC服务器处理125- 4 -安装测试12612 配置NETSCAPE插件127概述127连接池和保持激活127插件的配置128步骤1:复制库128步骤2:设置obj.conf文件128步骤3:更改MIME.types文件132步骤4:分发与测试NSAPI插件 132参数132使用SSL协议135有关W EB L OGIC服务器集群失败转移的注意事项1360BJ.CONF文件示例(不使用W EB L OGIC集群的情况)136OBJ.CONF文件(使用W EB L OGIC集群的情况) 13813 安全管理141安全配置概述141改变系统口令143指定一个安全域143配置缓存域144配置LDAP安全域147配置Windows NT安全域151配置UNIX安全域 153配置RDBMS安全域154安装一个定制安全域155测试代用安全域与定制安全域156迁移安全域157定义用户157定义用户组159定义虚拟机的用户组159定义ACL 160配置SSL协议161获得私钥与数字证书162保存私钥与数字签名164定义可靠的证书管理机构165定义SSL协议的配置字段165配置双向验证167C ONFIGURING RMI OVER IIOP OVER SSL(TBD)168口令的保护168安装审计提供者170- 5 -安装连接过滤器170设置J AVA安全管理器171配置安全上下文传播17314 管理事务176事务管理概述176配置事务177事务的监控与日志记录178将服务器迁移到另一台机器中17815 管理JDBC连接180用管理控制台管理JDBC 180JDBC配置指南180JDBC配置概述181配置JDBC驱动程序182连接池187设置连接池187管理连接池188多池188创建多池188管理多池188数据源189创建数据源189数据源管理18916 管理JMS 191配置JMS 191配置连接工厂192配置模板193配置收信方主键193配置备份库194配置JMS服务器195配置收信方195配置会话池196配置连接使用者197监控JMS 197恢复失败的W EB L OGIC服务器198重启或替换WebLogic服务器198编程考虑19917 管理JNDI 200- 6 -将对象装载到JNDI树200查看JNDI树20018 管理WEBLOGIC J2EE连接器构架201W EB L OGIC J2EE连接器构架概述201安装资源适配器202配置与部署资源适配器202配置与部署资源适配器202查看已部署的资源适配器203卸载已部署的资源适配器203删除一个资源适配器204查看元素与属性205监控连接池与参数205编辑资源适配器分发描述符 20519 管理WEBLOGIC服务器许可证208安装W EB L OGIC许可证208更新许可证208A 使用WEBLOGIC JAVA工具210A PPLET A RCHIVER210语法211C ONVERSION211D ER2PEM211例子212DBPING212语法212D EPLOY212参数212Actions(从下表中选一个) 213其它参数213选项213例子213GET P ROPERTY 215语法215例子215LOG T O Z IP216语法216例子217M ULTICAST T EST217语法218例子218- 7 -MYIP219语法219例子219P EM2DER 219语法219例子220S CHEMA220语法220例子220SHOW L ICENSES221语法221SYSTEM221语法221例子221T3DBPING222语法222VERBOSE T O Z IP222语法223UNIX上的例子223NT上的例子223VERSION223语法223例子223WRITE L IENSE224语法224例子224B WEBLOGIC服务器的命令行接口参考226命令行接口简介226Before You Begin 226使用W EB L OGIC服务器命令227语法227参数227W EB L OGIC服务器管理命令参考228CONNECT 229HELP 229LICENSES 230LIST 230LOCK 231PING 231SERVERLOG 232SHUTDOWN 233THR EAD_DUMP 233- 8 -unlock 234VERSION 234M BEAN管理命令参考235CREATE命令 235DELETE命令 236GET命令237INVOKE命令 238SET命令239配置及管理连接池的命令240命令的名字240WEB服务器插件的参数241概述241W EB SERVER插件的一般参数241W EB SERVER插件的SSL参数245- 9 -1WebLogic服务器管理概述本章将介绍WebLogic服务器的管理工具,内容如下:✓域、管理服务器以及受管理的服务器✓启动管理控制台✓运行时对象与配置对象✓对日志消息的集中访问BEA WebLogic Server™包含了许多互相关联的资源。
优化WebLogic 服务器性能参数WebLogic 配置文件(config.xml)包含了大量很直观的与性能有关的参数,能通过配置环境与应用程序得到很好的优化。
基于系统的需要调整这些参数不仅能改善单个点的性能,而且能提高整个应用程序性能的可衡量性。
试着采用下列WebLogic配置方法,或许能使你的系统达到最佳状态:一修改运行队列线程数的值。
在WebLogic 中队列元素的线程数等于同时占用运行队列的应用程序的数目。
当任务加入一个WebLogic 实例,它就被放到执行队列中,然后分配给任务一个线程来运行。
线程消耗资源,因此要小心处理这个属性——增加不需要的值,会降低性能。
二,如果可能,使用自带的性能包(NativeIOEnabled=true)。
三,使用特定的应用程序执行队列。
四,使用JDBC连接池时,修改下列属性:n 驱动名称:使用小的驱动或者jDriver。
n 初始容量:设为与最大容量相同的值。
n 最大容量:其值至少应与线程数相同。
五,把连接池的大小设为与执行队列的线程数相同。
六,设置缓冲。
七,为Servlet和JSP使用多个执行队列。
八,改变JSP默认的Java编译器,javac 比jikes或sj要慢。
优化WebLogic提要:n 为WebLogic 启动设置Java 参数。
n 设置与性能有关的配置参数。
n 调整开发与产品模式默认值。
n 使用WebLogic “自有的IO ”性能包。
n 优化默认执行队列线程。
n 优化连接缓存。
n 如何提高JDBC 连接池的性能。
n 设置Java 编译器。
n 使用WebLogic 集群提高性能。
n 监视WebLogic 域。
一、为WebLogic 启动设置Java 参数只要启动WebLogic ,就必须指定Java 参数,简单来说,通过WebLogic.Server 域的命令行就可以完成,不过,由于这样启动的过程冗长并且易于出错,BEA 公司推荐你把这个命令写进脚本里。
WebLogic Server Performance and TuningWebLogic Server性能调整Tuning Java Virtual Machines (JVMs)调整java虚拟机Garbage Collection垃圾回收VM Heap Size and Garbage Collection虚拟机堆大小和垃圾回收java堆是java对象存活的地方。
其中存有live对象,dead对象和空闲内存。
当正运行的程序中某个对象不可达时,它就被认为是“garbage”并且准备被回收。
一个最优方法是调整垃圾回收时间在执行时间的5%之内。
java虚拟机的堆大小决定了虚拟机垃圾回收的频率和用时。
要在分析垃圾回收的时间运行时间和频率后再将对大小调整到一个可接受的比率。
如果堆设置的大了,full GC 一次就变慢,但发生频率低。
如果根据你的需要设置堆大小,则full GC一次就变快,但是发生频率高。
调整堆大小的目标是,使给定时间内weblogic server能服务的客户数最大化,与此同时,使java虚拟机花在垃圾回收上的时间最小化。
在benchmarking内为了确保性能,你可能设置很大的堆大小以确保在整个benchmark运行中都不发生垃圾回收。
如果在没有堆空间的情况下运行,你会看到如下错误:ng.OutOfMemoryError <<no stack trace available>>ng.OutOfMemoryError <<no stack trace available>> Exception in thread "main"Choosing a Garbage Collection Scheme选择垃圾回收计划根据所使用的java虚拟机,可以从几个垃圾回收计划来管理你的系统内存。
例如,某些垃圾回收计划更适合特定应用。
weblogic基础及运维操作分享之问题训练培训试题1、如果wls启动时,JDBC不能正常启动,则错误级别是() [单选题] *A、InfoB、WarningC、Error(正确答案)D、CriticalE、Notice2、如下什么是标准的BEA错误号()。
[单选题] *A、Error-0001B、WLS-000002C、BEA-12345(正确答案)3、nodemanage没有哪些安全特性() [单选题] *A、Limiting connections to specified serversB、password expriration(正确答案)C、sslD、digital certification4、weblogic是遵循哪个标准的中间件() [单选题] *A、DCOMB、J2EE(正确答案)C、DCED、TCPIP5、下面哪个不属于weblogic的概念() [单选题] *A、概要文件profile(正确答案)B、domainC、clusterD、node6、weblogic不支持哪种组件() [单选题] *A、JDBCB、servletC、JSPD、ODBC(正确答案)7、weblogic调优过程中不涉及的方面是() [单选题] *A、JVM内存B、线程数量C、操作系统共享内存大小D、文件系统大小(正确答案)8、JDBC的描述哪个是正确的() [单选题] *A、JDBC是JVM虚拟机与数据库的连接协议(正确答案)B、JDBC是JVM虚拟机之间的连接协议C、JDBC是JVM连接应用服务器的协议D、JDBC是JVM连接web服务器的协议9、管理weblogic的时候,必须通过管理控制台console来进行操作嘛()[单选题] *A、是B、否(正确答案)10、如果一个weblogic server运行在公网且服务端口是80,请问如何才能使得外界无法访问到console() [单选题] *A、disable console(正确答案)B、用SSLC、用admin port姓名________ [填空题] *_________________________________。
系统运维WebLogic篇系统维护-WebLogic篇税友软件集团股份有限公司2009年12月修订页1、Weblogic安装............................................... WINDOWS平台下安装........................................... UNIX平台下安装..............................................创建逻辑卷...............................................创建文件系统.............................................创建Bea组...............................................创建Weblogic用户........................................安装程序上传.............................................安装方法选择.............................................执行安装.................................................2、域的创建....................................................W INDOWS平台下域的创建....................................... UNIX平台下域的创建..........................................HTML网页发布...............................................创建testdomain ...........................................创建网页目录及文件.......................................发布网页目录及文件....................................... EJB发布.................................................... WEB应用发布 ................................................JMS发布....................................................配置新的JMS服务器.......................................配置新的JMS队列.........................................JDBC发布...................................................建立一个JDBC Connection Pool .............................建立一个JDBC Data Sources ................................4、公司程序发布方法............................................程序发布前的准备...........................................交大龙山架构包发布.........................................应用处理程序发布...........................................WEB应用程序发布............................................5、集群配置及应用..............................................集群体系结构...............................................单层混合型的集群架构(Cluster) .....................多层结构的集群架构(Cluster) .......................创建jsdomain(机器1) ......................................创建jsdomain(机器2) ......................................启动管理/被管理服务器.....................................部署接收应用..............................................配置slpt集群的地址.......................................创建代理服务.............................................. JDBC集群.................................................... 连接池的集群............................................... 复合池的集群............................................... JDBC 连接的Failover ....................................... JDBC 连接的Load Balancing ................................. EJB集群 .................................................... WebLogic Server 集群中的EJBs .............................. EJB Home Objects 的集群.................................... EJBObjects的集群..........................................集群中的会话Bean ..........................................集群中的实体Bean ..........................................配置示例.................................................. 负载均衡(CLUSTER)........................................ CLUSTER原理与工作机制..................................... CLUSTER命名服务...........................................CLUSTER服务类型...........................................6、目录文件详细介绍............................................ WEBLOGIC目录及文件 ..........................................weblogic的主目录..........................................weblogic81的目录..........................................weblogic81\\common\\bin的目录结构........................... DOMAIN的目录及文件..........................................配置文件介绍..............................................配置文件的介绍............................................文件的相关配置............................................文件的相关配置(配置子目录)..............................文件(开源的日志记录文件) ..................................(EJB配置文件)...........................................(设置环境变量、内存大小)....................................................................................................................................................变量的相关配置介绍.........................................服务器的配置介绍...........................................7、监控........................................................JVM监控....................................................S ERVER监控..................................................JDBC监控................................................... WEB监控 ....................................................JMS监控....................................................EJB监控....................................................日志监控...................................................domain日志...............................................server日志...............................................web日志..................................................JTA监控....................................................8、优化........................................................为W EB L OGIC启动设置J AVA参数.................................设置与性能有关的配置参数...................................JDBC调优...................................................调整JDBC连接池的初始容量.................................调整JDBC连接池的最大容量.................................调整开发模式与产品模式默认值...............................更改运行时模式...........................................使用W EB L OGIC“自有的IO”性能包 ............................. 集群环境部署...............................................可伸缩性和高可用性........................................多CPU上运行多服务器实例应考虑的性能问题.................. 连接缓存的调优.............................................优化默认执行队列线程.......................................默认线程情况.............................................需要修改默认线程数的情形.................................修改默认线程数的步骤.....................................指派应用程序到执行队列...................................9、规范........................................................安装规范..............................................安装版本的选择.............................................安装的目录要规范 ....................................安装过程中对可选功能模块的选择 ......................应服务器部署规范......................................Domain的目录放在哪里...................................... Domains的名字该如何命名.............................Server的名字如何命名................................Jms服务的名字如何命名...............................日常监控规范............................................日常监控点 ..........................................监控情况记录在哪里 ..................................现场维护监控出现异常如何响应 ........................系统优化、升级规范....................................优化、升级的记录规范.....................................升级前备份做记录要求 ................................优化、升级后版本情况记录规范 ........................日常备份规范............................................记录备份规范日期、具体情况的规范.........................备份文件的存放规范 ..................................备份后版本的规范 ....................................10、第三方工具.................................................M ANAGEMENT C ONSOLE.............................................S POTLIGHT....................................................特点......................................................常见性能问题..............................................性能问题查找..............................................1、Weblogic安装windows平台下安装首先获取weblogic 的安装程序,获取到安装程序后直接双击文件开始安装,具体步骤如下:开始解压缩安装程序,稍等个几分钟,弹出如下界面:单击【下一步】,弹出界面:选择【是】,接受许可协议,单击【下一步】,弹出如下界面:设置【BEA主目录】,然后单击【下一步】,弹出对话框:选择【完全】,再单击【下一步】,弹出如下界面:设置【产品安装目录】,单击【下一步】,弹出如下界面:开始安装,稍等几分钟,弹出如下界面:单击【完成】完成weblogic的安装。
weblogic运维时经常遇到的问题和常⽤的配置希望这篇能把weblogic运维时经常遇到的问题、常⽤的配置汇总到⼀起。
1、配置jvm参数:⼀般在domain启动过程中会看到以下启动的⽇志信息,如下图所⽰:图中红⾊⽅框部分为启动weblogic domain的命令。
其中包括了jvm参数以及classpath信息。
【注意】java -client是由于之前建⽴的domain是开发模式的。
⽣产模式的话,这⾥执⾏的是java -server。
⾄于-client与-server的区别,⼤家去google下吧,这⾥不介绍了。
那如何修改这个配置呢?找到setDomainEnv.cmd⽂件(linux下⾯就是setDomainEnv.sh了),位置为:weblogic11\user_projects\domains\example\bin\setDomainEnv.cmd修改⽂件中的MEM_ARGS部分,相关参数配置如下:Java代码1. call "%WL_HOME%\common\bin\commEnv.cmd"2.3. set WLS_HOME=%WL_HOME%\server4.5. if "%JAVA_VENDOR%"=="Sun" (6. set WLS_MEM_ARGS_64BIT=-Xms256m -Xmx512m7. set WLS_MEM_ARGS_32BIT=-Xms256m -Xmx512m8. ) else (9. set WLS_MEM_ARGS_64BIT=-Xms512m -Xmx512m10. set WLS_MEM_ARGS_32BIT=-Xms512m -Xmx512m11. )12.13. set MEM_ARGS_64BIT=%WLS_MEM_ARGS_64BIT%14.15. set MEM_ARGS_32BIT=%WLS_MEM_ARGS_32BIT%16.17. if "%JAVA_USE_64BIT%"=="true" (18. set MEM_ARGS=%MEM_ARGS_64BIT%19. ) else (20. set MEM_ARGS=%MEM_ARGS_32BIT%21. )22.23. set MEM_PERM_SIZE_64BIT=-XX:PermSize=128m24.25. set MEM_PERM_SIZE_32BIT=-XX:PermSize=48m26.27. if "%JAVA_USE_64BIT%"=="true" (28. set MEM_PERM_SIZE=%MEM_PERM_SIZE_64BIT%29. ) else (30. set MEM_PERM_SIZE=%MEM_PERM_SIZE_32BIT%31. )32.33. set MEM_MAX_PERM_SIZE_64BIT=-XX:MaxPermSize=256m34.35. set MEM_MAX_PERM_SIZE_32BIT=-XX:MaxPermSize=128m36.37. if "%JAVA_USE_64BIT%"=="true" (38. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_64BIT%39. ) else (40. set MEM_MAX_PERM_SIZE=%MEM_MAX_PERM_SIZE_32BIT%41. )42. if "%JAVA_VENDOR%"=="Sun" (43. if "%PRODUCTION_MODE%"=="" (44. set MEM_DEV_ARGS=-XX:CompileThreshold=8000 %MEM_PERM_SIZE%45. )46. )47.48. @REM Had to have a separate test here BECAUSE of immediate variable expansion on windows49.50. if "%JAVA_VENDOR%"=="Sun" (51. set MEM_ARGS=%MEM_ARGS% %MEM_DEV_ARGS% %MEM_MAX_PERM_SIZE%52. )53.54. if "%JAVA_VENDOR%"=="HP" (55. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%56. )57.58. if "%JAVA_VENDOR%"=="Apple" (59. set MEM_ARGS=%MEM_ARGS% %MEM_MAX_PERM_SIZE%60. )61.62. @REM IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values63.64. if NOT "%USER_MEM_ARGS%"=="" (65. set MEM_ARGS=%USER_MEM_ARGS%66. )主要就是修改-Xms、-Xmx、-XX:PermSize、-XX:MaxPermSize的参数(视具体硬件、JVM负载情况进⾏修改)。
WEBLOGIC启动JVM参数设置经验2011-11-01 08:41:46分类:Linux1. 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。
32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。
我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。
典型设置:o java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx3550m:设置JVM最大可用内存为3550M。
-Xms3550m:设置JVM促使内存为3550m。
此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。
-Xmn2g:设置年轻代大小为2G。
整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。
持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。
此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-Xss128k:设置每个线程的堆栈大小。
JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。
更具应用的线程所需内存大小进行调整。
在相同物理内存下,减小这个值能生成更多的线程。
但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。
o java -Xmx3550m -Xms3550m -Xss128k -XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。
设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。
weblogic培训笔记(转载)上一篇/ 下一篇 2009-05-21 16:29:55 / 个人分类:服务配置查看( 97 ) / 评论( 0 ) / 评分( 0 / 0 )weblogic Server内部结构和相关的配置weblogic Server内部结构图:(一) 原理简单说明服务器启动,就会绑定到相应的端口,并为一个端口分配一个线程以接受连接请求,一旦服务器接受到连接请求并建立好连接以后,监听线程将处理权交给套接字复用器,套接字复用器进行一定的处理,并会负责选择利用那个执行队列并将请求置入其中。
当有一个请求进入执行队列,就会有一个空闲的执行县城从该队列里面取走并向调用者返回结果。
(二) 执行队列和执行线程的相关配置执行线程数量有一定的限制,在服务器启动的时候,就已经形成了一个含有一定数量执行线程的池,执行线程可能跨servlet,ejb和jdbc等,由于执行线程仅当程序成功结束或者出现异常才能被释放继续处理其他请求,所以如果执行线程执行的不够快,而请求又多的情况下,就会造成执行队列的阻塞。
相关的配置信息有:server菜单—〉configuration页---〉高级配置---〉Config Execute Queues中的配置项如下:1、Queue Length队列长度,执行队列的长度2、Queue Length Threshold Percent 一个百分数,当request的数量达到队列长度的这个比例的时候,weblogic会发出overflow的标志信息。
3、Thread Count 服务器初始创建的执行线程的数量4、Thread Increase 如果weblogic发出overflow的标志信息,weblogic会尝试增加这个数量的执行线程,以解决处理矛盾。
5、Threads Maximum最大执行线程数6、Threads Minimum最小执行线程数7、Thread Priority线程优先级另外server菜单—〉configuration页---〉tuning子页中还有一些相关的配置:1、 Stuck Thread Max Time 黏联线程时间,超过这个时间没有返回的执行线程,系统将认为是黏联线程。
2、 Stuck Thread Timer Interval 系统检查黏联线程的时间间隔如果weblogic认为某个队列中的所有的线程全部黏联的话,weblogic将会增加执行线程的数量。
注意:执行线程的数量一旦增加,目前weblogic不会去减少他,如果增加了一些线程以后再次出现overflow 的警告,weblogic会继续增加执行线程的数量,一直到达到上限为止。
(三) 套接字复用器的相关配置Weblogic带有两个版本的套接字复用器,纯java版和本地接口版(jni),一般来说在访问量小的情况下,java版比jni版性能要好一些,因为jni的API调用会损失一部分性能,但是访问量大的情况,一般都是jni 版的性能比较好,所以尽量保证weblogic实用本地接口版的套接字复用器。
相关的配置参数有两个,在server菜单—〉configuration页---〉tuning子页中的第一个和第二个配置项。
Enable Native IO :启用本地IO,勾选这个配置以后,weblogic就会启用本地接口版的套接字复用器Socket Readers :如果不选上一个选项,则这个选项可用,也就是说java版的套接字复用器会被启用,并且,java版的复用器会从执行线程中抽出这个比例的线程用于处理socket的请求。
(和java客户端访问有关?)web应用程序的相关配置1、单线程模式servlet默认情况下,一个servlet实例将会产生多个线程来同时响应多个请求。
如果某个servlet实现SingleThreadMod旗标接口,那么这个servlet将会自动拒绝多路并行请求的模式。
在这种情况下,weblogic会产生一个servlet实例池来满足单线程的要求。
目前,应该尽量避免使用单线程模式的servlet,如果需要在大容量的系统中使用单线程模式的servlet,那么应该调整如下的参数:Single Threaded Servlet Pool Size 这个参数可在weblogic.xml或者在weblogic控制台上webapplication 菜单---〉configuration页---〉Descriptor 子页中进行设置。
默认为5。
2、Weblogic生产模式下会自动监测servlet和jsp的更改情况,在产品模式下,不需要这些检查,可以通过下面的参数更改:JSPPage Check Secs和Servlet Reload Check Secs均设为-1这两项是weblogic检查jsp和servlet的时间间隔。
设置为-1,weblogic将不再检查。
关闭JSPKeep Generated和JSPVerbose,产品模式下也不需要这两个选项。
Enable JSP Line Numbers 这个选项是启用jsp行号的选项,启用行号的目的是用来支持调试,有些IDE 可以在jsp生成的java源代码中设置断点用于调试。
生产模式中也不需要。
注意:在产品发布模式下,请禁止对servlet和jsp的变更检查,这样除了能提高效率以外,还可以防止用上传文件的方式对服务器的攻击。
如果需要更改servlet和jsp,可以重新部署应用。
3、Session和cookie的相关配置概念会话cookie:如果不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。
这种生命期为浏览器会话期的 cookie被称为会话cookie。
Session Cookie Max Age Secs 就是会话cookie的超时时间,设置小于0表示不限制。
Session Invalidation Interval Secs 检查过期session的周期Session Timeout Secs session的超时时间4、Jdbc连接池的配置URL 连接池地址Driver Classname :jdbc驱动类名Properties :属性,例如user=examplesPassword :密码Initial Capacity :初始连接数Maximum Capacity :最大连接数Capacity Increment :连接池每次增加连接的数量Statement Cache Type :prepared statements缓存的策略,LRU算法在有新的语句到来时,将最不经常被用得语句调整出缓存。
FIXED算法为先进先出的算法Statement Cache Size :缓存中语句的最大数量,调整这个数值的大小,有利于提高系统的效率。
java虚拟机配置JRockit是BEA公司开发的Intel平台之上的高性能以及高可管理性的jvm产品,在Intel平台上使用JRockit 无疑会大大的提高效率。
使用向导建立server的配置的时候,可以选择JRockit作为该server的虚拟机,另外,也可以在域的startWebLogic.cmd或者startWebLogic.sh脚本中配置使用JRockit。
使用JRockit:set JAVA_VENDOR=BEAset JAVA_HOME=c:\bea\jrockit81sp4_142_05使用Sun的jvm:set JAVA_VENDOR=Sunset JAVA_HOME=c:\bea\jdk142_05u 与java虚拟机相关的参数配置可在startWebLogic.cmd或者startWebLogic.sh脚本中设置,在其执行java命令之前一行加入如下指令:set JAVA_VM=%JAVA_VM% “这里加入虚拟机参数”JRockit上的一些参数解释如下:选项描述-X显示扩展Java选项-Xallotype-Xallocationtype可取值global和local,定义使用本地线程还是全局线程。
global,在最大堆尺寸比较小时(小于128M)或者应用程序大量使用了线程时使用。
local,在最大堆尺寸比较大时(大于128M)或者应用程序少量使用了线程时使用。
每个本地线程区都要消耗大约2K的内存,如果大量地使用了线程,本地线程不但会造成内存空间浪费,而且还会造成堆碎片。
使用全局线程机制会减少堆碎片,但在内存分配方面速度要慢一些。
-Xbootclasspath指定类搜索路径,可以是ZIP和JAR文件,以;或:分隔-Xcleartype定义内存清理时机,可取值gc, local, alloc。
gc表示在垃圾回收时清理内存;local表示时分配一块local 线程区时清理;alloc表示内存区要被分配给其它对象时清理-Xgc选择要使用的垃圾回收器的类型,可取值:gencopy:分代复制收集(默认)适合调试期间使用singlecon:单空间并发,无中断并发gencon:世代并发,暂停时间最短parallel:parallel并行回收器,会导致应用程序间歇暂停,但会带来最大吞吐量。
如果-Xmx小于128M,缺省使用gencopy,否则使用gencon-Xgcpause打印由垃圾回收器造成的停顿时间-Xgcreport打印垃圾回收报表-Xjvmpi是否允许JVMPI事件,这些事件有:entryexit(缺省ON)allocs(缺省ON)monitors(缺省ON)arenasdelete(缺省OFF)例如:-Xjvmpi:allocs=off,monitors=off,entryexit=off-Xmanagement激活JVM中的管理服务器,在JVM的管理控制台能连接到它之前,必须先激活。
-Xms设置初始堆大小,单位有K、M、G-Xmx设置最大堆大小,单位有K、M、G建议:应设置-Xms=-Xmx以免去分配堆的时间-Xnativethreads使用本地线程系统,这是缺省选项-Xnoclassgc禁止对类作垃圾回收-Xnohup告诉JRockit,忽略CTRL_LOGOFF_EVENT和SIGHUP事件-Xns设置nursery尺寸,单位有K、M、GNursery是垃圾回收器用来存放临时对象的地方,应该在保证垃圾回收暂停时间最短的情况下,尽量大的调整nursery的值。
对于-Xgc:gencopy,缺省的Nursery大小为320KB/CPU,对于10个CPU的系统来说,Nursery大小为3200KB(3.2M)对于-Xgc:gencon,缺省的Nursery大小为10M/CPU,对于10个CPU的系统来说,Nursery 大小为100M-Xss设置线程栈尺寸,单位有K、M、G-Xthinthreads使用JRockit的高性能线程系统,在IA64上不可用。