WebLogic Server Hang产生的原因一般为:
系统内存不足
系统cpu忙
系统文件描述符数目不足
线程死锁
JVM有GC方面的bug
对于一些特定的情况可以使用truss命令跟踪系统调用来进行分析
系统内存不足
出现OutOfMemoryError或是观察到内存吃紧
操作系统本身的剩余内存
通过top或是vmstat观察
操作系统的swap区
Swap区太小可能导致编译jsp时报“Not enough space”的错
操作系统kernel参数中maxdsiz的大小
如果观测到数据库连接池里的连接泄漏,极可能是内存泄漏的先兆
系统内存不足
JVM的heap区大小
通过java命令行中的-Xms,-Xmx指定,建议最小值和最大值设成一样
可以通过weblogic console上server/monitor/performance来观察其使用情况
建议生产系统最少256M,一般情况下可以设置为系统剩余物理内存的80%
Heap size太大在一些jvm上会有问题
对于sun和hp的jvm,permanent size太小也会出OutOfMemoryError
在java命令行上加-XX:MaxPermSize=128m
系统内存不足
尽量减少内存消耗
Session中不要放大的数据,并尽量在不再需要的时候remove掉;如果可以调整session timeout到较小的值
避免在J2EE server端应用里边调用awt/swing作图
调整ejb的cache/pool设置