2024年6月12日发(作者:)
优化WebLogic
一、为WebLogic启动设置Java参数
垃圾收集(GC)是指JVM释放Java堆中不再使用的对象所占用的内存的过程,而Java堆(Heap)是
指Java应用程序对象生存的空间。堆大小决定了GC的频度和时间。堆越大,GC频度低,速度慢。
堆越小,GC频度高,速度快。所以GC和堆大小是一组矛盾。为了获取理想的Heap堆大小,需要使
用-verbosegc参数(Sun jdk: -Xloggc:
合应用最大负载所需内存情况,得出堆的大小。
通常情况下,我们建议使用可用内存(除操作系统和其他应用程序占用之外的内存)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:beaweblogic81 "%WL_HOME%"
:bea #如果采用的上bea的JDK
# JVM Heap(堆内存)最小尺寸为96M,最大尺寸为256M
set 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:beajrockit81sp5_142_08console目录里面运行:
C:beajrockit81sp5_142_08binjava –Xmanagement -jar
如何监控weblogic呢?
修改weblogic启动脚本,在里面加入-Xmanagement启动参数:
%JAVA_HOME%binjava
-Xmanagement
%JAVA_VM% %MEM_ARGS% %JAVA_OPTIONS%
-=%
SERVER_NAME%
-="%
WL_HOME%"
-tionModeEnabled=%PRODUCTION_MODE%
二、设置与性能有关的配置参数
在一个WebLogic域中,配置文件()位于与管理服务器通信的机器里,提供
WebLogic MBean的长期存储。管理服务器作为连接的中心点,为服务实例与系统管理工具
提供服务。域也可以包括其他的WebLogic实例,称之为从服务,主要为应用程序提供服务。
当启动管理服务器时,首先读域配置文件,然后跳过建立在配置文件中管理MBean 默认的
属性值,每一次用系统管理工具(不管是命令行界面还是管理控制台)改变一个属性值,它
都会被存到相应的管理MBean,并且写进配置文件。
1.下表列出了影响服务器性能的参数。
名称 参数 位置 作用
高速缓存
max-beans-in-cache
实体bean缓存空
间的大小,如果缓
存的空间太小,有
些bean就被滞留
在数据库中,下次
调用时就必须重
新从数据库装载
为得到高性能的
吞吐量,把Java堆
的最小值与最大
值设为相等。
"%JAVA_HOME%binjava"
-hotspot -Xms512m /
-Xmx512m
-classpath %CLASSPATH%
-
e控制台中的参数
名称 类型 位置 值
NativeIOEnable
d
SocketReaders
server
mydomain->Servers->myserver->Configu
ration->Tuning->“Enable Native IO”
server—>configuration->tuning
TRUE,表示该
Server使用本地
I/O
设置在执行线程中
专用做Socket
Readers的百分比
最大打开Socket数
堵塞线程时间,超
过这个时间没有返
回的执行线程,系
统将认为是堵塞线
程
如果weblogic认为
某个队列中的所有
的线程全部堵塞的
话,weblogic将会
增加执行线程的数
Maximum Open
Sockets
Stuck Thread
MaxTime
发布评论