立即咨询
WAS服务器本地内存溢出bug

故障现象

 

       

WAS 服务器连续发生本地内存溢出,产生coredump 文件。抛出以下错误:

1TISIGINFO     Dump  Event  "systhrow" ( 0 0 0 4 0 0 0 0 ) D e t a i l " j a v a / l a n g / OutOfMemor yErr or" "nativ e memor y exhausted" received


       

分析过程


     

WAS 版本为:8.0.0.6,OS 版本为:AIX6.1 分析故障点的 coredump 文件:

dmp>(dbx)coremapMapping:Shared Memory (size=0x3b0)  from(address): 0x30000000-0x300003b0Mapping: Shared Memory(size=0x800000)  from(address):0x40000000-0x40800000Mapping: Shared Memory (size=0x800000)  from (address): 0x50000000-0x50800000

发现理论上,每Shard Memory段应该为 256M。但实际上,每段只用到了 8M,这个是造成本地内存溢出的根本原因。


       

解决方案

 

       

WAS7 之后默认为 Xcompressedrefs 模式, 会引起 bug:IV46157

◆调整 JVM 参数为 -Xnocompressedrefs 模式

升级 WAS JDK 到 6.0.1 SR7 以上版本, 即为WAS 8.0.0.8

国内领先的I架构服务+产品提供商
立即领取企业福利 预约您的专属顾问
400-1037-370