Adding and Managing CentOS 6 Swap Space

From Techotopia
Jump to: navigation, search
PreviousTable of Contents
Adding a New Disk to a CentOS 6 Volume Group and Logical Volume


Purchase and download the full PDF, ePub & Kindle versions of this CentOS 6 eBook for only $9.99
Kindle/ePub/PDF edition contains 39 chapters and over 240 pages.

Buy eBook


An important part of maintaining the performance of a CentOS 6 system involves ensuring that adequate swap space is available comparable to memory demands placed on the system. The goal of this chapter, therefore, is to provide an overview of swap management on CentOS 6.




What is Swap Space?

Computer systems have a finite amount of physical memory that is made available to the operating system. When the operating system begins to approach the limit of the available memory it frees up space by writing memory pages to disk. When any of those pages are required by the operating system they are subsequently read back into memory. The area of the disk allocated for this task is referred to as swap space.

Recommended Swap Space for CentOS 6

The amount of swap recommended for CentOS 6 depends on a number of factors including the amount of memory in the system and the workload imposed on that memory. The current guidelines for CentOS 6 swap space are as follows:

  • 4GB of RAM requires a minimum of 2GB of swap space
  • 4GB to 16GB RAM requires a minimum of 4GB of swap space
  • 16GB to 64GB of RAM requires a minimum of 8GB of swap space
  • 64GB to 256GB of RAM requires a minimum of 16GB of swap space

Identifying Current Swap Space Usage

The current amount of swap used by a CentOS 6 system may be identified in a number of ways. One option is to cat the /proc/swaps file:

# cat /proc/swaps
Filename     Type            Size    Used    Priority
/dev/dm-1    partition       2064376 0       -1

Alternatively, use the swapon command:

Filename     Type            Size    Used    Priority
/dev/dm-1    partition       2064376 0       -1

Finally, the free command may also be used:

# free
             total       used       free     shared    buffers     cached
Mem:       1021488     615348     406140          0     199596     160312
-/+ buffers/cache:     255440     766048
Swap:      2064376          0    2064376

Adding a Swap File to a CentOS 6 System

Additional swap may be added to the system by creating a file and assigning it as swap. Begin by creating the swap file using the dd command (the size can be changed by adjusting the count= variable; the following creates a 131MB file):

# dd if=/dev/zero of=/newswap bs=1024 count=128000
128000+0 records in
128000+0 records out
131072000 bytes (131 MB) copied, 1.7639 seconds, 74.3 MB/s

Configure the file as swap:

# mkswap /newswap
mkswap: /newswap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 127996 KiB
no label, UUID=91588fb6-ac01-47f6-bb42-064c1c7c4599

Add the swap file to the system in real-time:

# swapon /newswap

Finally, modify the /etc/fstab file to automatically add the new swap at system boot time by adding the following line:

/newswap    swap    swap   defaults 0 0

Adding Swap to a CentOS 6 LVM Swap Volume

By default, CentOS 6 configures swap space using Logical Volume Management (LVM). An alternative to adding swap via file, therefore, is to extend the logical volume used for the swap.

The first step is to identify the current amount of swap available and the volume group and logical volume used for the swap space (for more information on LVM, refer to the chapter entitled Adding a New Disk to a CentOS 6 Volume Group and Logical Volume):

# lvdisplay
  --- Logical volume ---
  LV Name                /dev/vg_centos6/lv_root
  VG Name                vg_centos6
  LV UUID                nU70n0-scyi-xp2S-1CNq-GUa1-4Vad-gQKIOO
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                23.54 GiB
  Current LE             6026
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Name                /dev/vg_centos6/lv_swap
  VG Name                vg_centos6
  LV UUID                5uVonb-SCk2-bedt-4Oj3-LGpq-TpsA-qyCGEl
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                1.97 GiB
  Current LE             504
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

Clearly the swap resides on logical volume lv_swap which in part of volume group vg_CentOS6. The next step is to verify if there is any space available on the volume group that can be allocated to swap volume:

# vgs
  VG       #PV #LV #SN Attr   VSize  VFree
  vg_centos6   2   2   0 wz--n- 47.50g 22.00g

If the amount of space available is sufficient to meet additional swap requirements, turn off the swap and extend the swap logical volume to use the additional space:

# swapoff /dev/vg_centos6/lv_swap
# lvextend -L +3GB /dev/vg_CentOS6/lv_swap
  Extending logical volume lv_swap to 4.97 GiB
  Logical volume lv_swap successfully resized

Next, reformat the swap volume and turn the swap back on:

# mkswap /dev/vg_centos6/lv_swap
mkswap: /dev/vg_centos6/lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 5210108 KiB
no label, UUID=acd810b6-6522-43c8-b16d-a3f365288b15

# swapon /dev/vg_centos6/lv_swap

Having made the changes, check that the swap space as increased:

# swapon -s
Filename      Type            Size    Used    Priority
/dev/dm-1     partition       5210104 0       -1

Adding Swap Space to the Volume Group

In the above section we extended the swap logical volume to use space that was already available in the volume group. If no space is available in the volume group then it will need to be added before the swap can be extended. Begin by checking the status of the volume group:

# vgs
  VG           #PV #LV #SN Attr   VSize VFree
  vg_centos6       1   2   0 wz--n- 8.79g    0

The above output indicates that no space is available within the volume group. Suppose, however, that we have a requirement to add 2GB to the swap on the system. Clearly, this will require the addition of more space to the volume group. For the purposes of this example it will be assumed that a disk partition that is 2GB is size and represented by /dev/sdb is available for addition to the volume group. The first step is to turn this partition into a physical volume:

# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created

Next, the volume group needs to be extended to use this additional physical volume:

# vgextend vg_centos6 /dev/sdb
    Volume group "vg_CentOS6" successfully extended

At this point the vgs command should report the addition of the 2GB of space to the volume group:

# vgs
  VG           #PV #LV #SN Attr   VSize  VFree
  vg_centos6       2   2   0 wz--n- 10.78g 2.00g

Now that the additional space is available in the volume group, the swap logical volume may be extended to utilize the space. First, turn off the swap:

# swapoff /dev/vg_centos6/lv_swap

Next, extend the logical volume to use the new space:

# lvextend -L+2GB /dev/vg_centos6/lv_swap
  Extending logical volume lv_swap to 3.97 GiB

Re-create the swap on the logical volume:

#  mkswap /dev/vg_centos6/lv_swap
mkswap: /dev/vg_centos6/lv_swap: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2064380 KiB
no label, UUID=1bb0e260-7940-4070-929c-91518a7be384

Next, turn swap back on:

# swapon /dev/vg_centos6/lv_swap

Finally, use the swapon –s command to verify the addition of the swap space to the system:

# swapon -s
Filename       Type            Size    Used    Priority
/dev/dm-1      partition       2064376 0       -1


Purchase and download the full PDF, ePub & Kindle versions of this CentOS 6 eBook for only $9.99
Kindle/ePub/PDF edition contains 39 chapters and over 240 pages.

Buy eBook



PreviousTable of Contents
Adding a New Disk to a CentOS 6 Volume Group and Logical Volume