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

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

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

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

答案1

https://help.ubuntu.com/community/SwapFaq

以下是摘录:


我需要多少交换空间?

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

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

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

答案2

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

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

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

¹:这不是相当正确 - 在将数据写入 RAM 进行交换之前,内核会从内存中删除所有可以删除的内容。这通常包括大量程序代码(因为内核可以直接从磁盘中读回)和所有磁盘缓存等。

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

答案3

通常它应该等于你的 RAM,也就是 2GB,这对于日常应用来说应该足够了。

答案4

swap区域可以看作是 Linux 系统的虚拟 RAM。它基本上是在物理内存 (RAM) 已满时使用的。如果系统需要更多内存资源,则内存中的非活动页面将移动到交换空间。通常,应该是物理内存大小的一半。如果 RAM 为 4GB,则 2GB 足以用于交换。如果大小等于或大于 RAM,swap那就足够了。swap

相关内容