不管您计划的如何好,有时候系统并不像您所期待的那样运行。 如果您发现需要更多的交换空间,添加它很简单。 有三种方法增加交换空间:添加一块新的硬盘驱动器、通过 NFS 使用交换空间和在一个现有的分区上创建一个交换文件。
这是添加交换空间最好的方法, 当然为了达到这个目的需要添加一块硬盘。 毕竟您总是可以使用另一块磁盘。如果能这么做, 重新阅读一下手册中关于交换空间的 Section 11.2 来了解如何最优地安排交换空间。
通过 NFS 来交换只在您没有本地硬盘交换的时候被建议。在 FreeBSD 4.X 以前的版本中使用NFS交换速度很慢并且效率低下。4.0-RELEASE 和更新的版本中他的速度和效率还是可以接受的。即使使用新版本的 FreeBSD,NFS 交换也会被可用的网络带宽限制并且增加 NFS 服务器的负担。
您可以创建一个指定大小的文件用来当作交换文件。 在我们的例子中我们将会使用叫做 /usr/swap0 的 64MB 大小的文件。当然您也可以使用任何您所希望的名字。
Example 11-1. 在 FreeBSD 4.X 上创建一个交换文件
确认您的内核配置包含了 vnode 驱动。 它不包含在最近版本的 GENERIC。
pseudo-device vn 1 #Vnode driver (turns a file into a device)
创建一个 vn-device 设备:
# cd /dev # sh MAKEDEV vn0
创建一个交换文件 (/usr/swap0):
# dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
赋予它(/usr/swap0)一个适当的权限:
# chmod 0600 /usr/swap0
在 /etc/rc.conf 中启用交换文件:
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
通过重新启动机器或下面的命令使交换文件立刻生效:
# vnconfig -e /dev/vn0b /usr/swap0 swap
Example 11-2. 在 FreeBSD 5.X 上创建一个交换文件:
确认您的内核配置包含虚拟磁盘(Memory disk)驱动 (md(4))。它在 GENERIC 内核中是默认的。
device md # Memory "disks"
创建一个交换文件(/usr/swap0):
# dd if=/dev/zero of=/usr/swap0 bs=1024k count=64
赋予它(/usr/swap0)一个适当的权限:
# chmod 0600 /usr/swap0
在 /etc/rc.conf 中启用交换文件:
swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired.
通过重新启动机器或下面的命令使交换文件立刻生效:
# mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0