我的交换分区应该有多大?

Cop*_*ill 21 installation partitioning swap

我正在(重新)在我的 Toshiba NB100 上网本(Intel Atom,120GB HD,2GB RAM)上安装 Ubuntu。已经有一个我称之为“Stuff”的分区,其中包含我所有的媒体和文档。将删除我使用 Win7 的那个(使其成为交换),然后有一个恢复。

我应该创建多大的交换分区?

hto*_*que 15

请参阅https://help.ubuntu.com/community/SwapFaq

这是摘录:


我需要多少交换?

对于小于 1GB 的物理内存 (RAM),强烈建议交换空间应至少等于 RAM 量。此外,由于收益递减,建议交换空间最大为 RAM 量的两倍,具体取决于系统可用的硬盘空间量。

对于更现代的系统(>1GB),如果你使用休眠,你的交换空间应该最小等于你的物理内存(RAM)大小,否则你需要最少的轮次(sqrt(RAM))和最多两倍的数量内存。交换空间多于实际使用的唯一缺点是您将为它保留的磁盘空间。

“收益递减”意味着如果您需要更多的交换空间而不是 RAM 大小的两倍,您最好添加更多 RAM,因为硬盘驱动器 (HDD) 访问比 RAM 访问慢约 10³,因此需要 1 秒,突然需要超过15分钟!在快速固态硬盘 (SSD) 上还有一分钟多的时间。


RAO*_*AOF 13

对于上网本,您可能希望能够使计算机休眠。休眠过程要求 RAM 中的所有数据¹ 以交换方式写入硬盘,这意味着拥有至少与 RAM 一样多的交换空间是一个好主意。如果您不需要使计算机休眠,则不需要那么多交换。

现在,诀窍是这个交换空间实际上不必是一个专用的交换分区。与 Windows 一样,内核可以使用常规文件系统² 上的交换文件,并且它们与交换分区一样快。但是,使用交换文件添加更多交换比重新分区要容易得多。参见常见问题解答这个答案就如何添加交换文件的说明。

所以,简而言之,不要担心你需要多少交换;如果您需要更多,您可以轻松添加。

¹:这并不完全正确 - 在将数据写入 RAM 以进行交换之前,内核会从内存中删除所有可以删除的内容。这通常会包括很多程序代码(因为内核只能从磁盘中读回)和所有的磁盘缓存等。

²:这个能力实际上是依赖于文件系统的。大多数 linux 文件系统都支持在其上放置交换文件 - ext4,这是默认设置,当然可以。新的 btrfs 文件系统是一个例外,因此如果您正在使用它,您将需要一个交换分区。