随着系统配置的更改和新软件包的安装,可能需要添加更多交换空间。添加更多交换空间的最简单方法是,使用 mkfile 和 swap 命令将部分现有 UFS 或 NFS 文件系统指定为补充交换区域。使用这些命令(在以下各节中介绍)可以添加更多交换空间而不必对磁盘重新分区。
添加更多交换空间的其他方法是,对现有磁盘重新分区或添加其他磁盘。有关如何对磁盘重新分区的信息,请参见第 11 章,管理磁盘(概述)。
创建交换文件涉及以下常规步骤:
使用 mkfile 命令创建交换文件。
使用 swap 命令激活交换文件。
在 /etc/vfstab 文件中添加交换文件的项,以便在引导系统时自动激活交换文件。
mkfile 命令创建一个适合用作已挂载 NFS 交换区域或本地交换区域的文件。设置粘滞位,并用零填充文件。可以字节为单位(缺省设置)指定交换文件的大小,或者分别使用 k、b 或 m 后缀以 KB、块或 MB 为单位指定交换文件的大小。
下表说明 mkfile 命令选项。
表 21–2 mkfile 命令的选项
选项 |
说明 |
---|---|
-n |
创建空文件。标注大小。但是,在将数据写入磁盘块之前,不会分配磁盘块。 |
-v |
报告已创建文件的名称和大小。 |
应仅在创建 NFS 交换文件时使用 -n 选项。
成为超级用户。
无需超级用户权限,即可创建交换文件。但是,为避免意外覆写,超级用户应该是交换文件的属主。
如果需要,请为交换文件创建一个目录。
# mkfile nnn[k|b|m] filename |
创建了具有指定 filename 的交换文件,且其大小为 nnn(以 KB、字节或 MB 为单位)。
激活交换文件。
# /usr/sbin/swap -a /path/filename |
必须使用绝对路径名指定交换文件。添加了交换文件,该交换文件在取消挂载文件系统、重新引导系统或删除交换文件之前可用。请记住,将某个进程或程序交换至交换文件时,不能取消挂载文件系统。
将交换文件的项添加到指定该文件全路径名的 /etc/vfstab 文件,并将 swap 指定为文件系统类型。
/path/filename - - swap - no - |
检验是否添加了交换文件。
$ /usr/sbin/swap -l |
以下示例说明如何创建名为 /files/swapfile 的 100 MB 交换文件。
# mkdir /files # mkfile 100m /files/swapfile # swap -a /files/swapfile # vi /etc/vfstab (An entry is added for the swap file): /files/swapfile - - swap - no - # swap -l swapfile dev swaplo blocks free /dev/dsk/c0t0d0s1 136,1 16 1638608 1600528 /files/swapfile - 16 204784 204784 |