System Administration Guide, Volume I

Adding More Swap Space

As system configurations change and new software packages are installed, you might need to add more swap space. The preferred 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.

An alternative way to add more swap space is to repartition a disk. See Chapter 21, 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 padded 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.

Table 30-3 shows the options to the mkfile command.

Table 30-3 Options to the mkfile Command

Option 

Description 

-n

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

-v

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 or the system is rebooted.

  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