Linux oom-killer的问题

Linux oom-killer的问题

今天遇到了一个奇怪的问题,往一块嵌入式开发板上写文件当文件写入到一定长度时程序就会出现fault,整个程序死掉。发现串口下出现了oom的打印

什么是oom-killer?

OOM killer(Out Of Memory killer)是Linux下的一套内存保护机制,当设备内存低于某一个阈值时,会选择性的杀掉一些程序来释放内存。

如何修改阈值

echo xxxx > /proc/sys/vm/min_free_kbytes

关闭oom

echo “0” > /proc/sys/vm/oom-kill

什么情况下使用

当然,oom和阈值不是随便关闭或者变小的,做过anroid系统优化的同学可能知道当降低oom阈值内存很低的时候apk运行效率是非常低的,因为这时候当实际内存不够时,触发系统做swap的倾向也会很大,我们知道IO和内存不在一个数量级上,如果是实时性很强的程序,这时候会出现一些意想不到的问题,所以当非常清楚自己系统正常情况下内存的使用情况下和降低到多少合适并且经过测试后再去这么做。当然上面两个参数只是vm参数的冰山一角,请见:vm参数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值