自我感觉我们的IM服务还是挺稳定的,我们的demo服务运行了两年多,中间可能时不时更新版本,一直没有出现过问题。更有很多早期客户一直在运行都没有停过,从来没有听有客户反馈运行崩溃的问题。这两天有个客户忽然报告说他们的IM服务会反复崩溃,这让我们一下子心情紧绷起来,于是放下手中的活跟客户一起检查起来。
首先看日志,发现有内存dump,说明有oom现象发生。客户把dump发给我们,倒入分析工具一看,如下图只有不到62M的内存。
赶紧询问客户,服务器是什么状态,是不是运行服务太多内存不足。客户服务器是2C8G的,基本上只有一个IM服务。如下图:
可以看出有超过6G的空闲内存,不存在物理内存不足的情况。又问有没有改动启动脚本设置了最大内存,答案是否定的,客户还把脚本发给我们看,确实没有改动。这里提一下,在野火IM启动脚本wildfirechat.sh中有设置jvm内存大小的参数,如下所示