2-4GB 系统上有多少 SWAP 空间?

2-4GB 系统上有多少 SWAP 空间?

我应该如何决定在具有 2-4 GB RAM 的新 Linux 机器(Debian)上设置多大大小的交换空间?我真的需要交换空间吗?

答案1

有很多方法可以计算出一台机器使用了多少交换空间。常见的建议是使用基于 RAM 的公式,例如 2 x RAM、1.5 x RAM、1 x RAM、.75 x RAM 和 .5 x RAM。很多时候,公式会根据 RAM 的大小而变化(因此,具有 1GB RAM 的机器可能使用 2 x RAM 交换空间(2GB),而具有 16GB RAM 的机器可能使用 .5 x RAM 交换空间(8GB)。

另一件需要考虑的事情是该机箱的用途。如果您要在机箱上运行大量并发运行的进程,但其中相当一部分进程会在一段时间内处于空闲状态,那么添加额外的交换空间是有意义的。如果您要运行少量关键进程,那么添加额外的交换空间是有意义的(这似乎违反直觉,但我稍后会解释)。如果您将机箱作为桌面运行,那么添加额外的交换空间是有意义的。

至于是否应该包括交换空间,是的,你应该。你应该始终包括交换空间,除非你真的知道自己在做什么,并且确实有充分的理由这样做。

看看 Linux 内核的工作方式,交换空间并非仅在耗尽所有物理内存时才使用。Linux 内核将获取不活动(休眠)的应用程序,并在一段时间后将应用程序从实际内存移至交换空间。结果是,当您需要该应用程序时,将有短暂的延迟(通常只有一两秒),同时将应用程序的内存从交换空间读回 RAM。这通常是一件好事。

这样您就可以让不活动的应用程序进入“睡眠”状态,从而使活动的应用程序能够访问额外的 RAM。此外,Linux 会将机器上任何可用的(未分配的)RAM 用作磁盘缓存,从而使大多数(缓慢的)磁盘活动更快、响应更快。交换不活动的进程可以为您提供更多的磁盘缓存,并使您的机器整体运行速度更快。

最后,让我们面对现实,磁盘空间很便宜。真的很便宜。真的没有理由不将(相对)小块空间用于交换。如果我在一台有 2GB - 4GB RAM 的机器上运行,我可能会将交换空间设置为至少等于 RAM。如果少于 2GB RAM,那么我仍然会使用至少 2GB 的交换空间。

更新:正如一个很好的评论提到的(我忘了加上),如果你正在运行一台笔记本电脑或台式机,你可能想把它置于“休眠”模式(挂起到磁盘),那么你总是至少需要与内存一样多的交换空间。交换空间将用于在计算机“休眠”时存储 RAM 的内容。

答案2

红帽建议对于具有大量 RAM 的服务器,以下公式:

if MEM < 2GB then SWAP = MEM*2 else SWAP = MEM+2GB

如果您的系统有 1 GB 的 RAM,您的交换将是 2 GB,如果是 16 GB,则交换将是 18 GB。

答案3

回答晚了,我认为这在选定的答案中已经基本涵盖了,但@ssapkota 提供的答案中有一些很好且易于理解的信息这里(复制/粘贴如下)。

以下是来自 RedHat 的一个非常好的建议:建议的系统交换空间

摘自同一链接:

在过去,建议的交换空间量随系统中的 RAM 量线性增加。但由于现代系统中的内存量已增加到数百 GB,现在人们认识到,系统所需的交换空间量取决于该系统上运行的内存工作负载。然而,考虑到交换空间通常是在安装时指定的,并且很难预先确定系统的内存工作负载,我们建议使用下表确定系统交换。

当前表格(截至 2012 年 12 月):

Amount of RAM in the system   Recommended swap space         Recommended swap space 
                                                             if allowing for hibernation
---------------------------   ----------------------------   ---------------------------
2GB of RAM or less            2 times the amount of RAM      3 times the amount of RAM
2GB to 8GB of RAM             Equal to the amount of RAM     2 times the amount of RAM
8GB to 64GB of RAM            0.5 times the amount of RAM    1.5 times the amount of RAM
64GB of RAM or more           4GB of swap space              No extra space needed

原始表格:

Amount of RAM in the System     Recommended Amount of Swap Space
4GB of RAM or less              a minimum of 2GB of swap space
4GB to 16GB of RAM              a minimum of 4GB of swap space
16GB to 64GB of RAM             a minimum of 8GB of swap space
64GB to 256GB of RAM            a minimum of 16GB of swap space
256GB to 512GB of RAM           a minimum of 32GB of swap space 

答案4

嗯,这取决于你计划运行哪些服务和应用程序。你可以使用免费-m并随着时间的推移相应地调整交换分区。

这是一个有趣的讨论关于这个问题。就我个人而言(在阅读了该讨论之后),我仍然会留下大约 1 GB 的空间用于交换。

相关内容