Beginners Guide to Swap Space Management in Linux

Swap space is used in Linux when there is insufficient physical memory (RAM) on your system to store the data currently being processed. When your system needs more memory, inactive memory pages are written to the disk, freeing up physical memory. Increasing swap space should not be considered as a solution to memory shortages. Swap space is located on disk drives, which have slower access times than physical memory. If your system is swapping often, you should add more physical memory, not more swap space.

 

Swap space in Linux is either a normal file in the file system, called a swap file, or a separate partition, or a combination of swap partitions and swap files. A dedicated swap partition is much faster, but it is easier to change the size of a swap file. If you know how much swap space you need, use a swap partition. If you are unsure, experiment with a swap file first, then make a swap partition when you know your requirements.

 

The swap partition is listed in the partition table, referenced in /etc/fstab, and viewable in the /proc/swaps file. There are also command-line utilities to display information about your swap space. To view the swap partition in the partition table, enter:

# fdisk -l | grep swap
Disk /dev/mapper/cl-swap: 2147 MB, 2147483648 bytes, 4194304 sectors

 

To view the swap partition (or file) in the /etc/fstab file, enter:

# grep swap /etc/fstab 
/dev/mapper/cl-swap     swap                    swap    defaults        0 0

 

To display the contents of the /proc/swaps file, enter:

# cat /proc/swaps 
Filename				                Type		Size	  Used	   Priority
/dev/dm-1                               partition	2097148	  88296	   -1

 

The mkswap command is used to initialize a swap partition or a swap file. The syntax is:

# mkswap {device|file}

 

The swapon and swapoff utilities enable and disable devices and files for swapping, respectively. To display current swap information, use the “swapon –s” command. Output is identical to viewing the contents of /proc/swaps.

# mkswap {device|file}

 

Adding Swap Space

 

The swap partition or swap file must exist before it is initialized. Use fdisk or parted to create a swap partition. A swap file is created by using the dd command. Example:

# dd if=/dev/zero of=/swapfile bs=1024 count=1000000

 

To initialize a swap partition, type:

# mkswap /dev/xvdd1

 

To initialize a swap file, type:

# mkswap /swapfile

 

Initialized swap space is enabled by using the swapon command. To enable swapping on a swap file, enter:

# swapon /swapfile

 

To enable swapping on a swap partition, enter:

# swapon /dev/xvda3

 

Update the /etc/fstab file to enable the swap partition or swap file at boot:

# vi /etc/fstab
UUID=...     swap   swap   defaults   0   0
/swapfile    swap   swap   defaults   0   0

 

Viewing Swap Usage

View the /proc/meminfo file, or use other utilities such as free, top, and vmstat to view memory and swap space usage. Example:

# grep -i swap /proc/meminfo
SwapCached:         9472 kB
SwapTotal:       2097148 kB
SwapFree:        2008852 kB

 

To view swap usage by using the free command, enter:

# free | grep -i swap
Swap:       2097148       88296     2008852
  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

How can I configure a ip range in CentOS7?

You have to use a range file Edit /etc/sysconfig/network-scripts/ifcfg-enp0s3 and make...

Adding a Public IPv6 Address to a Linux Server (CentOS 7)

To configure an additional public IPv6 address in CentOS 7, proceed as follows:...

How To Install EPEL Repository On CentOS And RHEL 7

How to install EPEL for Centos 7 [root@localhost ~]# cat  /etc/centos-release CentOS Linux...

Common Commands (CentOS 7)

Basic Configuration Query or System Locale...

Install LAMP Stack on CentOS 7

Install LAMP Stack on CentOS 7 One of the most simple and barebones solutions you can have for...