12.12. 添加交换空间
有时,系统需要更多的交换空间。本节介绍了两种增加交换空间的方法:将交换空间添加到现有分区或新的硬盘上、在现有分区上创建一个交换文件。
关于如何加密交换空间、存在哪些选项以及为什么要这样做的信息,请参考“18.14. 加密交换空间”。
12.12.1. 将交换空间添加到现有分区或新的硬盘上
添加一个新的硬盘用于交换,比使用现有硬盘上的分区有更好的性能。设置分区和硬盘在“添加磁盘”中解释,而“设计分区布局”讨论了分区布局和交换分区大小的考虑。
使用 swapon
向系统添加一个交换分区,比如说:
# swapon /dev/ada1s1b
警告:
可以使用任何当前未挂载的分区,即使它已经包含数据,但在包含数据的分区上使用
swapon
会覆盖并破坏这些数据。在运行swapon
之前,请确保被添加为交换的分区确实是预定的分区。
要在启动时自动添加这个交换分区,请在 /etc/fstab
中添加一个条目:
/dev/ada1s1b none swap sw 0 0
关于 /etc/fstab
中的条目的解释,参见 fstab(5)
的手册 。关于 swapon
的更多信息可以在 swapon(8)
的手册页中找到。
12.12.2. 创建一个 Swap 文件
这些例子创建了一个 512M 的交换文件,名为 /usr/swap0
,而不是使用一个分区。
使用 swap 文件需要确保 md(4)
所需要的模块已经建立在内核中,或者在启用 swap 之前已经加载。请参阅“第8章 配置 FreeBSD 内核”以了解关于建立自定义内核的信息。
样例2. 创建一个 Swap 文件
创建 Swap 文件:
# dd if=/dev/zero of=/usr/swap0 bs=1m count=512
给这个新文件设置合适的权限:
# chmod 0600 /usr/swap0
通过向
/etc/fstab
添加以下一行来告知系统 Swap 文件的存在:
md none swap sw,file=/usr/swap0,late 0 0
系统重新启动时,Swap 空间将会被自动加载。欲使其立即生效,使用如下
swapon(8)
指令:
# swapon -aL