故障描述:
线上系统运行过程中出现OOM异常,导致jvm crash。
系统运行在IBM AIX上,通过IBM heap工具分析得到结果,如下图所示:
java应用日志分析:
1.通过查看应用日志,发现在某个时间点jvm heap内存出现异常:内存使用不断上升直至溢出。
2.由于系统特性使然,heap内存分配为64M,通过上图可以发现,异常时mina框架的MessageWriteRequest对象已经占用了61M左右的heap,导致溢出。
故障分析:
通过跟踪mina源程序,发现是由于大量消息阻塞的消息queue中,无法发送也没有及时清除,最终导致heap内存溢出。