之前发现进程总是会core,而且看core文件也没有什么头绪,后续在通过free -m不断跟踪运行过程的内存状态,发现当free和buffer都快用光的时候,进程就core了。
之后通过root查看/var/log/message日志,发现了Out of memory: Kill process字样,基本确认了是内存不足导致的进程被系统筛选后杀死。
Linux有个OOM killer机制,当系统内存不足请求时,为了保证系统不崩溃,会根据对每个进程的评分(考虑的占用内存大小,时间等因素,可以在/proc//oom_score中看到每个进程的得分),选取得分高的进程杀掉释放内存。
记录OOM导致的core问题
最新推荐文章于 2022-05-19 09:13:42 发布
博客讲述了作者在排查进程core问题时,发现进程在free和buffer内存接近耗尽时崩溃。通过分析/var/log/messages日志,确认是Linux的OOM(Out of Memory)杀手机制在起作用,该机制在系统内存不足时会选择得分高的进程进行杀戮以释放内存。
摘要由CSDN通过智能技术生成