Atlas 500 异常重启现象

问题描述

多台Atlas 500智能小站发生异常重启现象,影响现场业务运行。

处理过程

一线人员反馈现场3台设备出现异常重启现象,收集日志后,首先通过MCU日志确定系统重启的时间(MCU侧时间慢8小时,与OS日志对应时,加上8小时);

对应OS_Drivers下的kbox日志,系统重启时间与kbox记录时间吻合;

查看重启时的kbox日志,都存在out_of_memory+0x210/0x530以及oom stack堆栈相关记录,meminfo中可用内存为0Kb,确认重启原因为内存耗尽;

根据kbox日志,可确认内存溢出时的top 10进程,如下所示,其中红框标示的数据为重启时进程占用物理内存的数值,单位为pages,数据x4Kb便可计算出重启时进程占用内存的大小:
xbull () ./xbull : 632146 *4Kb=2.41G
java () /usr/jdk/bin/java : 77560*4Kb=0.3G
mysqld ():49544 *4Kb=0.19G
java () /usr/jdk/bin/java -Xms256M : 62186*4Kb=0.24G
java () /usr/jdk/bin/java : 49718*4Kb=0.19G
经计算可知,以上用户的业务程序,占用了大量的物理内存(总内存4G),约3.4G;

日志中total_top_10_rss=916805(pages)表示当前top10 进程总的内存使用页(pages),乘以4Kb可换算出已使用的内存,916805*4Kb=3.5G,而total_rss_all=942163(pages)表示系统可用总页数,942163*4Kb=3.6G,可以内存基本已占用完。
另外两台设备kbox日志记录同样的问题,由此可确定,异常重启的原因是客户相关业务进程占用了内存过多导致系统内存不足,触发复位。

根因

用户运行的程序或者业务进程占用内存过大,剩余系统内存不够导致系统重启

解决方案

建议用户排查业务、分析内存占用率高的相关进程,降低内存消耗,修复内存泄漏问题

免责声明:本案例仅供参考不提供专业意见。

版权声明:
作者:youlijiang
链接:https://www.cnesa.cn/461.html
来源:正群欣世
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>