在 Linux 上,如果内存不足,malloc 不一定返回空指针。如果您真的内存不足,您可能会取回一个指针,然后让 OOM killer 开始吞噬进程。 c++ 的 operator new 也是如此还是会得到 bad_alloc 异常?
最佳答案
它是一个内核函数而不是语言函数 - 您可以使用 vm.overcommit_memory
和 vm.overcommit_ratio
sysctl 来控制它。
它们在 /proc/sys/vm/overcommit_memory
和 /proc/sys/vm/overcommit_ratio
的 proc 文件系统中可见。
关于c++ - linux 上的运算符 new 和 bad_alloc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592535/