系统管理指南:设备和文件系统

添加更多交换空间

随着系统配置的更改和新软件包的安装,可能需要添加更多交换空间。添加更多交换空间的最简单方法是,使用 mkfileswap 命令将部分现有 UFS 或 NFS 文件系统指定为补充交换区域。使用这些命令(在以下各节中介绍)可以添加更多交换空间而不必对磁盘重新分区。

添加更多交换空间的其他方法是,对现有磁盘重新分区或添加其他磁盘。有关如何对磁盘重新分区的信息,请参见第 11 章,管理磁盘(概述)

创建交换文件

创建交换文件涉及以下常规步骤:

mkfile 命令

mkfile 命令创建一个适合用作已挂载 NFS 交换区域或本地交换区域的文件。设置粘滞位,并用零填充文件。可以字节为单位(缺省设置)指定交换文件的大小,或者分别使用 kbm 后缀以 KB、块或 MB 为单位指定交换文件的大小。

下表说明 mkfile 命令选项。

表 21–2 mkfile 命令的选项

选项 

说明 

-n

创建空文件。标注大小。但是,在将数据写入磁盘块之前,不会分配磁盘块。 

-v

报告已创建文件的名称和大小。 


注 –

应仅在创建 NFS 交换文件时使用 -n 选项。


Procedure如何创建交换文件并使其可用

  1. 成为超级用户。

    无需超级用户权限,即可创建交换文件。但是,为避免意外覆写,超级用户应该是交换文件的属主。

  2. 如果需要,请为交换文件创建一个目录。

  3. 创建交换文件。


    # mkfile nnn[k|b|m] filename
    

    创建了具有指定 filename 的交换文件,且其大小为 nnn(以 KB、字节或 MB 为单位)。

  4. 激活交换文件。


    # /usr/sbin/swap -a /path/filename
    

    必须使用绝对路径名指定交换文件。添加了交换文件,该交换文件在取消挂载文件系统、重新引导系统或删除交换文件之前可用。请记住,将某个进程或程序交换至交换文件时,不能取消挂载文件系统。

  5. 将交换文件的项添加到指定该文件全路径名的 /etc/vfstab 文件,并将 swap 指定为文件系统类型。


    /path/filename   -      -       swap     -     no     -
  6. 检验是否添加了交换文件。


    $ /usr/sbin/swap -l
    

示例 21–1 创建交换文件并使其可用

以下示例说明如何创建名为 /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