之前发现进程总是会core,而且看core文件也没有什么头绪,后续在通过free -m不断跟踪运行过程的内存状态,发现当free和buffer都快用光的时候,进程就core了。
之后通过root查看/var/log/message日志,发现了Out of memory: Kill process字样,基本确认了是内存不足导致的进程被系统筛选后杀死。
Linux有个OOM killer机制,当系统内存不足请求时,为了保证系统不崩溃,会根据对每个进程的评分(考虑的占用内存大小,时间等因素,可以在/proc//oom_score中看到每个进程的得分),选取得分高的进程杀掉释放内存。
相关文章
- 01-24请问在 .NET Core 中如何让 Entity Framework Core 在日志中记录由 LINQ 生成的SQL语句?
- 01-24记一次ArrayList产生的线上OOM问题
- 01-24诊断虚拟机频繁 OOM 的问题
- 01-24记录数组转集合(int[]转list)的快速方法,数组转list必须先将数组转为list,int[]转list有问题,不能用,integer[]转list可以使用。
- 01-24Kafka-python 客户端导致的 cpu 使用过高,且无法消费消息的问题
- 01-24深度学习相关问题的记录:验证集loss上升,准确率却上升
- 01-24EF core的原生SQL查询以及用EF core进行分页查询遇到的问题
- 01-24.Net Core实现记录接口执行时间的中间件
- 01-24.NET Core 中使用GB2312编码报错的问题
- 01-24Dx bad class file magic (cafebabe) or version (0033.0000) 导致 NoClassDefFoundError 的问题