【WebLogic故障处理】一次严重的WebLogic频繁宕机故障处理
【WebLogic故障处理】一次严重的WebLogic频繁宕机故障处理
环境描述
AIX 5308、WebLogic 9.2 MP3 集群(24个应用节点)
JDK:IBM Java 5 64-bit JDK (Service Refresh SR6b + IZ08455)
JVM:-Xms2048M –Xmx2048M
Patch ID: NGZ8
Performance Pack:server/native/aix/ppc64/libmuxer.so
系统使用过程中,平均每一个月至少宕机一次,表现为WebLogic服务节点呈挂死现象,业务系统不能使用,只能重启服务节点后系统方能使用,并且在业务系统使用过程中,速度达不到理想的效果。
故障分析
1、WebLogic服务节点挂机现象,经检
查WebLogic日志,发现在服务节点挂机之前有出“java/lang/OutOfMemoryError”等报错,同时domains目录下也生成有javacore、heapdump等文件。
[font=Wingdings]lJVM内存使用情况
***WARNING*** Java heap is almost exhausted : 0% free Java heap
Dump Event "systhrow" (00040000) Detail "java/lang/OutOfMemoryError" received
Free Java heap size: 9,664 bytes
Allocated Java heap size: 4,294,967,296 bytes
目前分配给Server的4G内存已全部使用,但又未得到新的内存,出现了OutOfMemoryError
[font=Wingdings]l线程使用情况
从线程使用情况看,只有个别线程正在运行,其它线程均在等待或被阻塞。
而运行的线程正在进行数据据访问操作
[font=Wingdings]l检查内存使用情况
在重新调整JVM为1G的情况下,分析了内存再次溢出的DUMP文件,从下图看出有存内存泄漏问题,而且情况较为严重,一个class共消耗内存670M,这个泄漏对象当前正在进行JDBC数据访问操作。
在JVM为1G的条件下,根据分析结果表明,目前内存泄漏问题主要表现在两个地方:
1) 对象com.XXXX.XXXX.XXXX.XXXX.model.DefectQueryVO
此对象分别创建了36414次、1239307次。
2) 一系列JDBC操作,这个操作说明在进行数库访问、数据交换。
因此已建议开发商软件工程师检查程序并进行优化。
故障处理结果
将相应的表进行分区处理,优化了数据库,后来使用正常。