System Administration Guide, Volume 1

Adding More Swap Space

As system configurations change and new software packages are installed, you might need to add more swap space. The easiest way to add more swap space is to use the mkfile and swap commands to designate a part of an existing UFS or NFS file system as a supplementary swap area. These commands, described below, enable you to add more swap space without repartitioning a disk.

Alternative ways to add more swap space are to repartition an existing disk or add another disk. See Chapter 28, Disk Management (Overview) for information on how to repartition a disk.

Creating a Swap File

The following general steps are involved in creating a swap file:

The mkfile Command

The mkfile command creates a file that is suitable for use either as an NFS-mounted or local swap area. The sticky bit is set, and the file is filled with zeros. You can specify the size of the swap file in bytes (the default) or in kilobytes, blocks, or megabytes using the k, b, or m suffixes, respectively.

The table below shows the options to the mkfile command.

Table 38-3 Options to the mkfile Command




Creates an empty file. The size is noted, but the disk blocks are not allocated until data is written to them. 


Verbose. Reports the names and sizes of created files. 

Caution - Caution -

Use the -n option only when creating an NFS swap file.

How to Create a Swap File and Make It Available

  1. Become superuser.

    You can create a swap file without root permissions, but it is a good idea for root to be the owner of the swap file to avoid accidental overwriting.

  2. Create the swap file.

    # mkfile nnn[k|b|m] filename

    The swap file of the size nnn (in Kbytes, bytes, or Mbytes) and name you specify is created.

  3. Activate the swap file.

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

    You must use the absolute path name to specify the swap file. The swap file is added and available until the file system is unmounted, the system is rebooted, or the swap file is removed. Keep in mind that you can't unmount a file system while some process or program is swapping to the swap file.

  4. Add an entry for the swap file to the /etc/vfstab file that specifies the full path name of the file, and designates swap as the file system type, like this:

    /path/filename   -      -       swap     -     no     -
  5. Verify that the swap file is added.

    $ /usr/sbin/swap -l

Example--Creating a Swap File and Making It Available

The following examples shows how to create a 24 Mbyte swap file called /files/swapfiles.

# mkdir /files
# mkfile 24m /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/c0t2d0s1   32,17      8 205624 192704
/files/swapfile       -        8  40952  40952