关闭linux的oom机制,如何在Linux中禁用oom Killer?[关闭]

关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。

想改善这个问题吗? 更新问题,使其成为Stack Overflow

的主题。

9个月前关闭。

我当前的配置是:

> cat /proc/sys/vm/panic_on_oom

0

> cat /proc/sys/vm/oom_kill_allocating_task

0

> cat /proc/sys/vm/overcommit_memory

1

但是当我执行任务时,它还是被杀死了。

> ./test/mem.sh

Killed

> dmesg | tail -2

[24281.788131] Memory cgroup out of memory: Kill process 10565 (bash) score 1001 or sacrifice child

[24281.788133] Killed process 10565 (bash) total-vm:12601088kB, anon-rss:5242544kB, file-rss:64kB

更新资料

我的任务习惯于科学计算,这会花费很多记忆,看来这overcommit_memory=1可能是最佳选择。

更新2

实际上,我正在从事一个数据分析项目,该项目花费的内存多于16G,但是我被要求将其限制在左右5G。通过优化程序本身来实现此要求可能是不可能的,因为该项目使用许多子命令,并且其中大多数不包含Java

Xms或XmxJava 中的选项。

更新3

我的项目应该是一个过度使用的系统。就像a3f所说的那样,似乎我的应用程序更喜欢xmalloc在mem分配失败时崩溃。

> cat /proc/sys/vm/overcommit_memory

2

> ./test/mem.sh

./test/mem.sh: xmalloc: .././subst.c:3542: cannot allocate 1073741825 bytes (4295237632 bytes allocated)

我不想投降,尽管如此多的考验使我筋疲力尽。所以,请给我看看通往光明之路; )

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值