Ed_S
(Ed S)
17
这是我之前写的一篇文章:
特别是
开箱即用的内核将拒绝无法满足的分配。通过此调整,它将接受这些分配,失败可能会避免,或者可能会稍后在分配变为使用时发生。
如果您的 RAM 和交换空间总量足够大,您将永远不需要更改此设置。如果总量不够大,更改它可能会有帮助。
还有
它是为了增加可用的虚拟内存量。(即 RAM 和交换空间的总和。)如果您耗尽了 RAM,您将开始遇到性能问题。但是,如果您耗尽了虚拟内存,进程将无法启动,或者会死亡或被杀死。这很残酷。
我们那些 RAM 和磁盘都很小的人可能无法自由地添加大量的交换空间,但 2G 似乎是一个不错的最低限度。(如果您有 16G RAM,您可能不需要任何交换空间,但这是另一回事。当问题是事物失败时,重要的是两者的总和。)
至于阻力,我认为是因为人们认为此更改是为了 redis 的利益,而大多数人不需要它。
编辑:这个最近的帖子 可能是个例子,一个小型实例耗尽了内存,并且没有设置 overcommit。但我们不知道设置 overcommit 是否会解决这个问题——该用户升级到了 8G RAM。
2 个赞