Linux内存从0到1学习笔记(9.10 内存优化调试之panic_on_oom介绍

43 篇文章 62 订阅 ¥39.90 ¥99.00

通过配置/proc/sys/vm/panic_on_oom文件节点可以使能或禁用out-of-memory的panic。接下来我分享下在对该节点功能及代码架构的学习笔记;

一,简介

文件节点路径:/proc/sys/vm/panic_on_oom
相关变量:vm.panic_on_oom

该节点有三个值,分别是0,1,2;0为默认值。

  • 0(默认值),表示当发生oom时,内核会调用oom_killer查杀一部分进程。通常情况下,oom_killer通过杀掉失控进程以确保系统稳定运行;
  • 1,表示当oom发生时,内核会发生panic。但是,如果某个进程通过 mempolicy/cpusets 限制使用节点,并且这些节点成为内存耗尽状态,则可能会被 oom-killer 杀死一个进程。在这种情况下不会发生panic。因为其他节点的内存可能是空闲的。也就是说系统总状态可能还不是致命的。
  • 2,表示,当有oom发生时触发内核panic,即便是oom发生在memory cgroup控制策略中,也会触发系统panic。

二,代码示例

2.1 out_of_memory()

linux_mainline-5.17.0/mm/page_alloc.c
__alloc_pages() --> __alloc_pages_slowpath() --> __alloc_pages_may_oom() --> out_of_memory()

linux_mainline-5.17.0/mm/oom_kill.c <

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高桐@BILL

分享快乐,快乐分享...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值