暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

一次严重的WebLogic频繁宕机故障处理

IT那活儿 2024-04-01
583
点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!

故障现象
系统使用过程中,平均每一个月至少宕机一次表现为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


故障分析及处理
2.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操作,这个操作说明在进行数库访问、数据交换
因此已建议开发商软件工程师检查程序并进行优化。
2.2 故障处理结果
将相应的表进行分区处理,优化了数据库,后来使用正常。

END


本文作者:事业二部(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论