Linux上的operator new和bad_alloc

时间:2009-10-20 04:57:12

标签: c++ linux new-operator bad-alloc

在Linux上,如果内存不足,malloc不一定会返回空指针。你可能会找回一个指针然后让OOM杀手开始吃进程,如果你真的没有记忆。对于c ++的operator new也是如此,或者你会得到bad_alloc异常吗?

2 个答案:

答案 0 :(得分:7)

这是一个内核函数而不是语言函数 - 您可以使用vm.overcommit_memoryvm.overcommit_ratio sysctl来控制它。

它们在/proc/sys/vm/overcommit_memory/proc/sys/vm/overcommit_ratio的proc文件系统中可见。

答案 1 :(得分:4)

对于operator new来说也是如此,唉:^(