在 Linux 上强制 Commited_AS 不超过 CommitLimit 加上 MemTotal

在 Linux 上强制 Commited_AS 不超过 CommitLimit 加上 MemTotal

我想限制分配的内存量不超过某个限制,因为我的系统正在大量交换。只要尊重启发式限制,我就可以接受。我以为那CommitLimit就是电流限制:

The current overcommit limit and amount committed are viewable in
/proc/meminfo as CommitLimit and Committed_AS respectively.

...但显然不是。

MemTotal:        2042712 kB
CommitLimit:     2064808 kB
SwapTotal:       1043452 kB

Committed_AS:    4751348 kB

vm.overcommit_memory = 0

据我了解,我启用了启发式过量使用和当前限制应该相等提交限制。我不明白为什么内核分配了近 5GB 的内存。实际上是总内存限制吗掉期总计+提交限制+内存总计

这是在内核 4.9 上。

答案1

还有另一种放在文档中这表明严格的过量使用模式 (2) 对于此用例是必要的。

相关内容