bea\user_projects\domains\mydomain下可以查看日志,如果出现关闭的连接错误,可以在配置连接池的时候设置,选中测试返回的连接和请求的连接.
如果经常出现内存溢出的问题话查看日志,如果出现Executethread: '7' for queue:'weblogic.kernel.default'
这样类似Executethread开头的可能是线程资源耗尽的问题,如果是24说明是对象锁没释放
怎样查看weblogic 目前可用的线程数 ?
console控制台上myserver-下面的Monitoring的tab-Performance 中的Idle Threads显示的数目就是(下面有)
WebLogic Server 性能及调整:
查看使用 WebLogic 8.1 线程缓冲池模型
性能查看:
调整weblogic的使用内存
修改对应的domain下面的启动脚本,比如:weblogic安装目录下对应domain的启动脚本:startWeblogic.sh,追加
Windows:
set MEM_ARGS=-Xms2045m -Xmx2560m
Unix:
MEM_ARGS="-Xms1024m -Xmx2048m"
注:Xms表示最小内存,Xmx表示最大内存。
主要内容
? 1、WebLogic服务的监控
? 2、WebLogic性能优化
? 3、UNIX操作命令介绍
WebLogic服务的监控
? WebLogic的控制台console对内存的监控
? Console --> server --> myserver --> 右边窗口Mornitoring --> Performance
WebLogic服务的监控
? Idle Threads 空闲线程数
这个值不能为0,否则意味着系统无线程可用,有死机的危险.
? Queue Length 等待队列的长度
当Idle Threads的值为0时,Queue Length会出现数值。如果Queue Length维持在较高位置,且不下降时,有死机危险。但只要值在变,就说明系统还在运行.
WebLogic服务的监控
? Memory Usage 内存的使用情况
主要看垃圾回收是否频繁,在系统高负载的情况下,内存是否能达到80-90%的使用率。
WebLogic服务的监控
? 查看线程的运行情况
线程是否都为空闲null状态。如不为空闲,看看是什么样的请求在占用线程。
Console --> server --> myserver --> 右键菜单View Execute Threads
如下图所示:
WebLogic服务的监控
? Current Request 当前线程正在处理的请求
? 被占用的线程的情况:46、48、49
占用内容:Socket Reader Request
WebLogic性能优化——内存
一般建议正式的域(Domain)设置为-Xms1024m -Xmx1024m,表示堆的初始大小和最大值都是1024M。
1、修改文件:Unix为startWebLogic.sh或startManagedWebLogic.sh(集群用);Windows系统为startWebLogic.cmd或startManagedWebLogic.cmd(集群用)。
? 2、修改位置:为保证我们修改的参数生效,最好将内存参数命令行放在启动Java虚拟机之前。示例如下:
WebLogic性能优化——内存
? export CLASSPATH
? MEM_ARGS="-Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m"
? # Call WebLogic Server
? echo "."
? echo "CLASSPATH=${CLASSPATH}"
? echo "."
? echo "PATH=${PATH}"
? echo "."
? echo "***************************************************"
? echo "* To start WebLogic Server, use a username and *"
? echo "* password assigned to an admin-level user. For *"
? echo "* server administration, use the WebLogic Server *"
? echo "* console at http://[hostname]:[port]/console *"
? echo "***************************************************"
? ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} ${JAVA_OPTIONS} http://www.77cn.com.cn=${SERVER_NAME}
-Dweblogic.ProductionModeEnabled=${PRODUCTION_MODE}
-Djava.security.policy="${WL_HOME}/server/lib/weblogic.policy" weblogic.Server
WebLogic性能优化——内存
? 3、注意Unix与Windows的参数差别。AIX和Linux的参数值要加上双引号,Windows则不需要加。如该加的没加,不该加的加了,就会导致设置的参数不起作用,影响应用系统的性能。
? 4、Unix系统下参数是否生效的检查。可以使用如下命令:
ps –ef|grep java
如果设置的参数生效,在显示的结果中会看到设置的值。如没有生效,会显示weblogic缺省的值-Xms32m –Xmx200m。
WebLogic性能优化——内存
? 5、Windows下可以使用echo命令,在startWebLogic.cmd文件中查看
echo %MEM_ARGS%
会在dos窗口中输出内存设置的信息。
WebLogic性能优化——线程数
? 线程数Thread Count
weblogic服务在接收到请求后,会交给后台的线程来处理,线程数决定了并发处理能力的大小。
一般以服务器的CPU个数为基准,每个CPU可负担25个线程,最好不要超过50个
? 查看线程的运行情况,上面已经提到。
WebLogic性能优化——线程数
? 更改线程数Thread Count
server ——> 右键菜单 ——> “View Execute Queues”项查看,如下图:
点击“default”,进入修改页面:
WebLogic性能优化——线程数
? 修改了thread count的值后,要点击“应用(Apply)”按钮,并重启服务后,参数才能生效。
WebLogic性能优化——连接池
? 数据库连接池的初始连接数建议200或以上,如资源允许可设置得更大,但不能操作最大连接数,最大连接数设置800。
? Oracle的参数processes设置为1000或以上。

