A T*_*A T 14
下面的文字来自 nixCraft 页面Linux:你应该使用两倍的内存作为交换空间吗?. (请点击链接并阅读来源以获取更多信息)
请注意,nixCraft 页面引用了据称来自OpenBSD FAQ 的文本,但当前文档中没有匹配的文本;然而,这可能是 2006 年曾经存在的东西(因此 2 x RAM 规则在 10 多年前就已经过时了):
废话规则:服务器的主系统 RAM 大小的两倍
根据 OpenBSD 常见问题解答:
许多人遵循一个旧的经验法则,即您的交换分区应该是主系统 RAM 大小的两倍。这个规则是废话。在现代系统上,有很多交换,大多数人更喜欢他们的系统从不交换。您不希望系统用完 RAM+swap,但您通常希望系统中有足够的 RAM,这样它就不需要交换了。
更多来自 nixCraft 页面:
Red hat 建议对 RHEL 5 进行如下设置:
现实情况是,系统需要的交换空间量实际上并不是它拥有的 RAM 量的函数,而是该系统上运行的内存工作负载的函数。只要匿名内存 [没有文件或设备支持的内存映射:从操作系统堆栈和堆中获得的内存] 和系统 V 共享内存的总和是不到大约 3/4 的 RAM 量。在这种情况下,系统将简单地将匿名和系统 V 共享内存锁定到 RAM 中,并使用剩余的 RAM 缓存文件系统数据,因此当内存耗尽时,内核仅回收页面缓存内存。
考虑到: 1. 在安装时配置交换空间时,没有简单的方法来预先确定工作负载所需的内存,以及 2. 系统 RAM 越多,通常需要的交换空间越少,交换空间[可能沿着这一建议为CentOS Linux的7.x和RHEL 7]:
因此 nixCraft 页面得出结论:
结论
如果 Linux 内核一次要使用超过 2GiB 的交换空间,所有用户都会感到很热。或者,您可以获得更多 RAM(推荐)并转向更快的存储以改进磁盘 I/O。没有规则,每个设置和配置都是独一无二的。根据您的要求调整值。选择适合您的掉期金额。
此外,这篇 Red Hat 文章:我们真的需要在现代系统上进行交换吗?(2017) 说:
我们对大多数现代系统的大小建议是“物理 RAM 的一部分”,例如 20%。有了这个,我们示例中痛苦缓慢的操作阶段不会持续那么长时间,OOM 会更早开始。
当然,也有需要不同行为的场景。当意识到这种行为时,这样的交换配置就可以了,并且可以在没有任何交换的情况下运行系统。我们也支持这样的系统 - 但客户应该知道在上述情况下的行为。
归档时间: |
|
查看次数: |
118383 次 |
最近记录: |