Ce contenu n'est pas disponible dans la langue sélectionnée.

Chapter 13. Getting started with swap


Use the swap space to provide temporary storage for inactive processes and data, and prevent out-of-memory errors when physical memory is full. The swap space acts as an extension to the physical memory and allows the system to continue running smoothly even when physical memory is exhausted. Note that using swap space can slow down system performance, so optimizing the use of physical memory, before relying on swap space, can be more favorable.

13.1. Overview of swap space

Swap space in Linux is used when the amount of physical memory (RAM) is full. If the system needs more memory resources and the RAM is full, inactive pages in memory are moved to the swap space. While swap space can help machines with a small amount of RAM, it should not be considered a replacement for more RAM.

Swap space is located on hard drives, which have a slower access time than physical memory. Swap space can be a dedicated swap partition (recommended), a swap file, or a combination of swap partitions and swap files.

In years past, the recommended amount of swap space increased linearly with the amount of RAM in the system. However, modern systems often include hundreds of gigabytes of RAM. As a consequence, recommended swap space is considered a function of system memory workload, not system memory.

13.3. Creating an LVM2 logical volume for swap

You can create an LVM2 logical volume for swap. Assuming /dev/VolGroup00/LogVol02 is the swap volume you want to add.

Prerequisites

  • You have enough disk space.

Procedure

  1. Create the LVM2 logical volume of size 2 GB:

    # lvcreate VolGroup00 -n LogVol02 -L 2G
    Copy to Clipboard
  2. Format the new swap space:

    # mkswap /dev/VolGroup00/LogVol02
    Copy to Clipboard
  3. Add the following entry to the /etc/fstab file:

    /dev/VolGroup00/LogVol02 none swap defaults 0 0
    Copy to Clipboard
  4. Regenerate mount units so that your system registers the new configuration:

    # systemctl daemon-reload
    Copy to Clipboard
  5. Activate swap on the logical volume:

    # swapon -v /dev/VolGroup00/LogVol02
    Copy to Clipboard

Verification

  • To test if the swap logical volume was successfully created and activated, inspect active swap space by using the following command:

    # cat /proc/swaps
                   total        used        free      shared  buff/cache   available
    Mem:            30Gi       1.2Gi        28Gi        12Mi       994Mi        28Gi
    Swap:           22Gi          0B        22Gi
    Copy to Clipboard
    # free -h
                   total        used        free      shared  buff/cache   available
    Mem:            30Gi       1.2Gi        28Gi        12Mi       995Mi        28Gi
    Swap:           17Gi          0B        17Gi
    Copy to Clipboard

13.4. Creating a swap file

You can create a swap file to create a temporary storage space on a solid-state drive or hard disk when the system runs low on memory.

Prerequisites

  • You have enough disk space.

Procedure

  1. Determine the size of the new swap file in megabytes and multiply by 1024 to determine the number of blocks. For example, the block size of a 64 MB swap file is 65536.
  2. Create an empty file:

    # dd if=/dev/zero of=/swapfile bs=1024 count=65536
    Copy to Clipboard

    Replace 65536 with the value equal to the required block size.

  3. Set up the swap file with the command:

    # mkswap /swapfile
    Copy to Clipboard
  4. Change the security of the swap file so it is not world readable.

    # chmod 0600 /swapfile
    Copy to Clipboard
  5. Edit the /etc/fstab file with the following entries to enable the swap file at boot time:

    /swapfile none swap defaults 0 0
    Copy to Clipboard

    The next time the system boots, it activates the new swap file.

  6. Regenerate mount units so that your system registers the new /etc/fstab configuration:

    # systemctl daemon-reload
    Copy to Clipboard
  7. Activate the swap file immediately:

    # swapon /swapfile
    Copy to Clipboard

Verification

  • To test if the new swap file was successfully created and activated, inspect active swap space by using the following command:

    $ cat /proc/swaps
    Copy to Clipboard
    $ free -h
    Copy to Clipboard

13.5. Creating a swap volume by using the storage RHEL system role

This section provides an example Ansible playbook. This playbook applies the storage role to create a swap volume, if it does not exist, or to modify the swap volume, if it already exist, on a block device by using the default parameters.

Prerequisites

Procedure

  1. Create a playbook file, for example ~/playbook.yml, with the following content:

    ---
    - name: Create a disk device with swap
      hosts: managed-node-01.example.com
      roles:
        - rhel-system-roles.storage
      vars:
        storage_volumes:
          - name: swap_fs
            type: disk
            disks:
              - /dev/sdb
            size: 15 GiB
            fs_type: swap
    Copy to Clipboard

    The volume name (swap_fs in the example) is currently arbitrary. The storage role identifies the volume by the disk device listed under the disks: attribute.

  2. Validate the playbook syntax:

    $ ansible-playbook --syntax-check ~/playbook.yml
    Copy to Clipboard

    Note that this command only validates the syntax and does not protect against a wrong but valid configuration.

  3. Run the playbook:

    $ ansible-playbook ~/playbook.yml
    Copy to Clipboard

13.6. Extending swap on an LVM2 logical volume

You can extend swap space on an existing LVM2 logical volume. Assuming /dev/VolGroup00/LogVol01 is the volume you want to extend by 2 GB.

Prerequisites

  • You have enough disk space.

Procedure

  1. Disable swapping for the associated logical volume:

    # swapoff -v /dev/VolGroup00/LogVol01
    Copy to Clipboard
  2. Resize the LVM2 logical volume by 2 GB:

    # lvresize /dev/VolGroup00/LogVol01 -L +2G
    Copy to Clipboard
  3. Format the new swap space:

    # mkswap /dev/VolGroup00/LogVol01
    Copy to Clipboard
  4. Enable the extended logical volume:

    # swapon -v /dev/VolGroup00/LogVol01
    Copy to Clipboard

Verification

  • To test if the swap logical volume was successfully extended and activated, inspect active swap space:

    # cat /proc/swaps
    Filename                Type        Size        Used        Priority
    /dev/dm-1          partition    16322556           0              -2
    /dev/dm-4          partition     7340028           0              -3
    Copy to Clipboard
    # free -h
                   total        used        free      shared  buff/cache   available
    Mem:            30Gi       1.2Gi        28Gi        12Mi       994Mi        28Gi
    Swap:           22Gi          0B        22Gi
    Copy to Clipboard

13.7. Reducing swap on an LVM2 logical volume

You can reduce swap on an LVM2 logical volume. Assuming /dev/VolGroup00/LogVol01 is the volume you want to reduce.

Procedure

  1. Disable swapping for the associated logical volume:

    # swapoff -v /dev/VolGroup00/LogVol01
    Copy to Clipboard
  2. Clean the swap signature:

    # wipefs -a /dev/VolGroup00/LogVol01
    Copy to Clipboard
  3. Reduce the LVM2 logical volume by 512 MB:

    # lvreduce /dev/VolGroup00/LogVol01 -L -512M
    Copy to Clipboard
  4. Format the new swap space:

    # mkswap /dev/VolGroup00/LogVol01
    Copy to Clipboard
  5. Activate swap on the logical volume:

    # swapon -v /dev/VolGroup00/LogVol01
    Copy to Clipboard

Verification

  • To test if the swap logical volume was successfully reduced, inspect active swap space by using the following command:

    $ cat /proc/swaps
    Copy to Clipboard
    $ free -h
    Copy to Clipboard

13.8. Removing an LVM2 logical volume for swap

You can remove an LVM2 logical volume for swap. Assuming /dev/VolGroup00/LogVol02 is the swap volume you want to remove.

Procedure

  1. Disable swapping for the associated logical volume:

    # swapoff -v /dev/VolGroup00/LogVol02
    Copy to Clipboard
  2. Remove the LVM2 logical volume:

    # lvremove /dev/VolGroup00/LogVol02
    Copy to Clipboard
  3. Remove the following associated entry from the /etc/fstab file:

    /dev/VolGroup00/LogVol02 none swap defaults 0 0
    Copy to Clipboard
  4. Regenerate mount units to register the new configuration:

    # systemctl daemon-reload
    Copy to Clipboard

Verification

  • Test if the logical volume was successfully removed, inspect active swap space by using the following command:

    $ cat /proc/swaps
    Copy to Clipboard
    $ free -h
    Copy to Clipboard

13.9. Removing a swap file

You can remove a swap file.

Procedure

  1. Disable the /swapfile swap file:

    # swapoff -v /swapfile
    Copy to Clipboard
  2. Remove its entry from the /etc/fstab file accordingly.
  3. Regenerate mount units so that your system registers the new configuration:

    # systemctl daemon-reload
    Copy to Clipboard
  4. Remove the actual file:

    # rm /swapfile
    Copy to Clipboard
Retour au début
Red Hat logoGithubredditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance. Découvrez nos récentes mises à jour.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez le Blog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

Theme

© 2025 Red Hat, Inc.