1

是否有一种悲观的方式来确定 malloc 是否会失败。我有点担心这个:

默认情况下,Linux 遵循乐观的内存分配策略。这意味着当 malloc() 返回非 NULL 时,不能保证内存确实可用。如果发现系统内存不足,OOM 杀手将杀死一个或多个进程。有关详细信息,请参阅 proc(5) 中 /proc/sys/vm/overcommit_memory 和 /proc/sys/vm/oom_adj 的说明,以及 Linux 内核源文件 Documentation/vm/overcommit-accounting。

如果我不知道这个免责声明,我会检查 malloc 是否成功。

在我的情况下,内存是一个约束,因为应用程序需要分配一个大数据块(千兆字节)。Gimp 通过其配置对话框将全部责任转移给用户。我想要一些可以推断出软上限的东西。

4

0 回答 0