14.10.添加交换空间

有时,系统需要更多的交换空间。本节介绍了两种增加交换空间的方法:将交换空间添加到现有分区或新的硬盘上、在现有分区上创建一个交换文件。

关于如何加密交换空间、存在哪些选项以及为什么要这样做的有关信息,请参考“加密交换空间”

14.10.1.将交换空间添加到现有分区或新的硬盘上

添加一个新的硬盘用于交换,比使用现有硬盘上的分区有更好的性能。设置分区和硬盘在“添加磁盘”中解释,而“设计分区布局”讨论了分区布局和交换分区大小的考虑。

使用 swapon 向系统添加一个交换分区,比如说:

# swapon /dev/ada1s1b

警告

可以使用任何当前未挂载的分区,即使它已经包含数据,但在包含数据的分区上使用 swapon 会覆盖并破坏这些数据。在运行 swapon 之前,请确保被添加为交换空间的分区确实是预定的分区。

要在启动时自动使用这个交换分区,请在 /etc/fstab 中添加一行:

/dev/ada1s1b    none    swap    sw  0   0

关于 /etc/fstab 中的条目的解释,参见 fstab(5) 的手册。关于 swapon 的更多信息可以在 swapon(8) 的手册页中找到。

14.10.2.创建 Swap 文件

这个例子创建了一个 512M 的交换文件,叫做 /usr/swap0,而没有使用文件系统分区。

使用 swap 文件需要确保 md(4) 所需要的模块已经编译在内核中,或者在启用 swap 之前已经加载。请参阅配置 FreeBSD 内核以了解关于编译定制内核的信息。

例 25. 创建 Swap 文件

  1. 创建 swap 文件:

    # dd if=/dev/zero of=/usr/swap0 bs=1m count=512
    
  2. 给这个新文件设置合适的权限:

    # chmod 0600 /usr/swap0
    
  3. 通过向 /etc/fstab 添加以下一行来告知系统 swap 文件的存在:

    md    none    swap    sw,file=/usr/swap0,late 0   0
    
  4. 在系统重新启动时,交换空间将会被自动加载。要使其立即生效,使用如下 swapon(8) 命令:

    # swapon -aL