Answers:
参见https://help.ubuntu.com/community/SwapFaq
这是节选:
对于少于1GB的物理内存(RAM),强烈建议交换空间应至少等于RAM的数量。另外,由于返回值的减少,建议交换空间最大为RAM量的两倍,具体取决于系统可用的硬盘空间量。
对于更现代的系统(> 1GB),如果使用休眠模式,则交换空间应至少等于物理内存(RAM)的大小,否则,最少需要舍入(sqrt(RAM)),最多需要两倍于此数量RAM。拥有比实际使用更多的交换空间的唯一弊端是要为其保留的磁盘空间。
“收益递减”表示,如果您需要更多的交换空间而不是RAM大小的两倍,则最好添加更多的RAM,因为硬盘驱动器(HDD)的访问速度比RAM的访问速度慢约10³,因此大约需要1秒钟,突然耗时超过15分钟!快速固态硬盘(SSD)上还有一分钟多的时间。
对于上网本,您可能希望能够休眠计算机。休眠过程要求将RAM中的所有数据¹交换写入硬盘,这意味着最好具有至少与RAM相同的交换空间。如果您不需要休眠计算机,则不需要太多交换。
现在,诀窍在于该交换空间实际上不必是专用的交换分区。与Windows一样,内核可以在常规文件系统2上使用交换文件,它们的速度与交换分区一样快。但是,使用交换文件添加更多的交换要比重新分区要容易得多。参见常见问题解答从这个答案就如何添加交换文件的说明。
简而言之,不必担心需要多少交换;如果需要更多,可以轻松添加。
¹:这不是很真实的-在RAM写入数据交换前,内核就会从它可以存储一切清除。这通常将包含许多程序代码(因为内核可以从磁盘将其读回)以及所有磁盘缓存等。
²:此功能实际上取决于文件系统。大多数linux文件系统都支持交换文件-ext4是默认设置,当然可以。新的btrfs文件系统是一个例外,因此,如果要使用它,则需要交换分区。