Answers:
我要说的是,确实有一个良好的经验法则。物理内存的2倍。这里可以考虑的一点是,虽然可以使用较小的交换分区,并且在大多数正常情况下已经足够,但是如果您希望该系统保持稳定,我确实会遵循8 GB的建议。实际上,我建议使用2 * RAM + 1 MB,这样绝对有空间换出2个完整的内存副本。这避免了可能对性能产生负面影响的“空壳游戏”场景。如果您的系统遇到异常事件,这将为您提供一定的恢复能力。
我已经看到了一些应用程序在无人值守的环境中表现不佳的场景,在不知不觉中,您的系统开始缓慢地进行爬网。
根据您的操作,您甚至可以完全放弃交换文件。一次运行多个应用程序时,操作系统的额外空间非常方便。但是,如果仅打算运行几个进程,则不打算与GUI交互,则禁用交换文件可能是适当的。
但是,如果您要使用交换文件,则始终使用下面的大小公式。
[(2 x RAM) + 1 MB] = Swap File Size
我还建议您尽可能将交换文件放在单独的磁盘上,因为这样可以提高性能,因为操作系统可以在对数据磁盘进行读/写操作的同时交换数据。
我希望这是有帮助的。
如果您有足够的RAM来执行要求的所有操作,那么Linux可以在没有交换的情况下非常愉快地运行,尽管进行一些交换仍然是一个好主意,因为在接近填充内存时,有时通过不最近推动一些操作,有时可以获得更好的性能。 -将用完的东西释放到磁盘上以释放RAM,以用作当前活动的IO操作的缓存/缓冲区。
同样,进行交换,无论您有多少RAM,如果应用程序出现异常情况并需要比平常更多的RAM,或者选择执行需要大量内存的异常操作,则确实可以提供一点额外的安全网。
总的来说,我不同意现代机器上的2xRAM。如果您有足够的能力来完成将价值8Gb的页面换出到磁盘,那么到那时,您的系统很可能已经完全无法使用了。在许多情况下,即使是1xRAM也会过大。请记住,您可以随时以文件的形式添加交换空间,因此,如果需要,可以稍后添加更多交换空间。例如,添加额外的GB交换空间:
dd if=/dev/zero of=/path/to/newfile bs=1024 count=1048576
mkswap /path/to/newfile
swapon /path/to/newfile
并将其删除(不再需要):
swapoff /path/to/newfile
rm /path/to/newfile
(请记住,尽管交换文件比直接交换分区或逻辑卷要慢一些,因为您有文件系统的开销,并且有更多的碎片可能性考虑)
休眠(即笔记本电脑/上网本)可能会使事情复杂化,因为IIRC Linux在交换空间中存储了内存状态,因此,如果您打算使用休眠方式,那么您肯定需要更多的RAM大小作为交换空间(而且我不知道是否这样)需要基于分区/卷的交换,或者是否可以使用基于文件的交换-肯定需要提到的fstab
内容可以在启动过程的很早就看到,其中初始ram磁盘正在使用并且您的真实根尚未安装)。
这些观点可能都没有意义。如果您有数TB的磁盘存储空间,则分配8Gb交换空间可能会非常困难!
根据此处的Ubuntu SwapFAQ ,计算为2 * MB RAM。因此,在这种情况下为8GB。但实际上,您不应该需要超过2GB的空间。
是否仍需要保留分区以进行交换?我认为如今,这也适用于系统分区上的文件。然后,我想如果您要插入更多的内存,或者您认为不需要那么多的交换空间,则可以轻松更改大小。
编辑:这是可以做到的(从linux 2.6内核开始)。
首先,如果要使用休眠模式,则需要一个交换分区,其大小至少应与RAM大小相同。
其次,请记住RAM的大小是2的倍数,而不是 10的倍数,因此声明2条512MiB RAM(每个536870912 bytes
)的1GB空间是不够的,因为这仅是1000MB(1000000000字节),而不是1024MiB(1073741824 bytes
)需要...相反,您需要带一个计算器,然后做1024 * 1024 * 1024 * # of GiB
另请阅读: http://en.wikipedia.org/wiki/Binary_prefix并man 8 units
在您的Linux机器上
因此,对于4 GB的RAM,您的交换空间至少应为4294967296 bytes
或4295 MB
使用所有功能。
因为这很大,所以它可能足以满足您的所有需求
从我在Linux上的亲身经历,我知道传统的RAM大小的2倍公式仅适用于具有1 GB-2 GB RAM的旧系统。
但是,对于具有更多Gig RAM的较新系统,我建议以下内容
如果RAM <2 GB,则交换空间= 2 x RAM
如果RAM = 2 GB-8 GB,则交换空间= RAM
即使在运行高性能计算和应用程序时,这也不会对系统性能产生任何影响。
尽管如果内存至少为4 GB,我建议使用原始的RAM量。那应该保持系统稳定和高效。
如果RAM = 8 GB-64 GB,则交换空间= 0.5 x RAM
在这种情况下,我建议使用最大4 GB的RAM,因为这已经足够了,除了多媒体应用程序。
在Ubuntu的SwapFaq可能会回答很多你的问题。使用大量的RAM,您可能会受益于更改本文概述的默认“ swappiness”。