October 13, 2025

Managing and monitoring swap space on Linux

0 0
Read Time:9 Minute, 57 Second

Most of us don’t often think about swap space unless we run into a problem on our systems that suggests we don’t have enough. Even so, viewing and gauging the adequacy of swap space on a system is not overly complicated, and knowing what’s normal for your system can help you spot when something is wrong. So let’s check out some commands that can help you look into your swap space. But first, let’s review some fundamentals.

What swap space is and how it’s used

Swap space is disk space that acts something like an extension of memory. It gets used when the system’s physical memory (RAM) is full and the system needs more memory resources. It’s called “swap” because the system will move some inactive pages in memory into the swap space so that it can accommodate more data in RAM. In other words, it provides a way to free up RAM on a busy system.

Programs and data use RAM because that’s the only way they can be processed by the system. In fact, when a system boots, it moves programs like the kernel and systemd into RAM to get going.

Swap space might be configured as its own disk partition or be set up as a file. These days, most Linux installations create a partition during installation, and this is optimal. You can, however, set up a swap file and use it for your swap space.

With inadequate swap space, you can run into a problem called “thrashing” in which programs and data are moved between RAM and the swap space so frequently that the system runs very slowly.

Together, RAM and swap are referred to as “virtual memory.”

How much swap do you need?

The recommendation for swap space used to be double your RAM, but that was back when systems didn’t have as much RAM as they generally have today. These recommendations for Ubuntu should probably work well for other distributions as well:

RAM         Swap        Swap (with hibernation)

256MB       256MB       512MB

512MB       512MB       1GB

1GB         1GB         2GB

2GB         1GB         3GB

3GB         2GB         5GB

4GB         2GB         6GB

6GB         2GB         8GB

8GB         3GB         11GB

12GB        3GB         15GB

16GB        4GB         20GB

24GB        5GB         29GB

32GB        6GB         38GB

64GB        8GB         72GB

128GB       11GB        139GB

The distinction between swap and swap with hibernation is important. A system that hibernates saves your system state immediately to the hard disk and powers down. When you wake it up (e.g., by lifting the “lid” on a laptop), all the programs you were running return to the state they were in when the system went into hibernation. So, more swap space is recommended. Not all systems hibernate.

To determine if your system can hibernate, run this command:

$ which pm-hibernate

/usr/sbin/pm-hibernate

If you get the response shown above, your system is hibernation-ready. You can test it by running this command:

$ sudo pm-hibernate

How you can view the amount of swap space on your Linux system?

You can use the swapon –show command to view the swap space on your system.

$ swapon –show

NAME       TYPE      SIZE USED PRIO

/dev/zram0 partition 5.8G 3.3M  100

Another useful command is the free command that displays both swap space and memory usage. With -m, the results are displayed in MBs instead of KBs.

$ free

               total        used        free      shared  buff/cache   available

Mem:         6064768      740736      538288        8060     4785744     5014712

Swap:        6064124        3328     6060796

$ free -m

               total        used        free      shared  buff/cache   available

Mem:            5922         723         525           7        4673        4897

Swap:           5921           3        5918

The sar command can report on swap space usage.

$ sar -S 1 3

Linux 5.13.9-200.fc34.x86_64 (dragonfly)        09/10/2021      _x86_64_       (2 CPU)

02:09:55 PM kbswpfree kbswpused  %swpused  kbswpcad   %swpcad

02:09:56 PM   6060796      3328      0.05         0      0.00

02:09:57 PM   6060796      3328      0.05         0      0.00

02:09:58 PM   6060796      3328      0.05         0      0.00

Average:      6060796      3328      0.05         0      0.00

Notice in the above output from the free command that swap space is being modestly used even though a lot of free memory is available.

You can also view a swap partition with a command like this:

$ lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

loop0    7:0    0  32.3M  1 loop /var/lib/snapd/snap/snapd/12704

loop1    7:1    0  55.4M  1 loop /var/lib/snapd/snap/core18/2128

loop2    7:2    0  65.4M  1 loop /var/lib/snapd/snap/powershell/173

loop3    7:3    0  32.3M  1 loop /var/lib/snapd/snap/snapd/12883

sda      8:0    0 111.8G  0 disk

├─sda1   8:1    0     1G  0 part /boot

└─sda2   8:2    0 110.8G  0 part /

sdb      8:16   0 465.8G  0 disk

└─sdb1   8:17   0   434G  0 part /home

sdc      8:32   1   1.9T  0 disk

└─sdc1   8:33   1   1.9T  0 part

sr0     11:0    1  1024M  0 rom

zram0  252:0    0   5.8G  0 disk [SWAP]              <=== there it is!

When you do and don’t need more swap space

If your system has a lot of memory, you may never need to use swap space. But it’s nearly always a good idea to have it available. Disk space is relatively cheap compared to memory, and you never know when some process might add to the burden. On the other hand, if your swap space is heavily used nearly all of the time, you should maybe consider adding more RAM to the system as there is some performance cost associated with its use.

Creating a swap file

If you need to create a swap file on a Linux system, use a command like this:

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=8192

[sudo] password for me:

8192+0 records in

8192+0 records out

8589934592 bytes (8.6 GB, 8.0 GiB) copied, 147.893 s, 58.1 MB/s

Once the file is created, change its file permissions, run the mkswap command and use the swapon -a command to make it available and the swapon –show command to verify that it has been put into use.

$ sudo chmod 600 /swapfile

$ sudo mkswap /swapfile

Setting up swapspace version 1, size = 8 GiB (8589930496 bytes)

no label, UUID=3d060a1d-90d1-436f-97b6-4d1aebb15ce2

$ sudo swapon -a

$ swapon –show

NAME      TYPE SIZE USED PRIO

/swapfile file   8G   0B   -2

How to turn swapping off and back on again

It is possible to turn use of a swap file on and off and using the swapoff and swapon commands, though you’d probably only want to turn swapping off if you added a swap partition and want to use it instead of the swap file.

$ sudo swapoff -v /swapfile

swapoff /swapfile

$ sudo swapon -v /swapfile

swapon: /swapfile: found signature [pagesize=4096, signature=swap]

swapon: /swapfile: pagesize=4096, swapsize=8589934592, devsize=8589934592

swapon /swapfile

$ swapon –show

NAME      TYPE SIZE USED PRIO

/swapfile file   8G   0B   -2

Wrap-up

If your Linux system runs smoothly all of the time, it likely isn’t having any problems with memory or swap. However, if it isn’t or if you’re just curious about how swap space is set up and used, try some of the commands above to see what they can tell you.

.

Source: Managing and monitoring swap space on Linux | Network World

Don’t hesitate to contact us:

Geetika Technosoft Pvt Ltd
E-mail : crm@gtechnosoft.in
T: 1800 212 6124
#GeetikaTechnosoft
#ManagedITService
#ITExpertsConsultation
#GloablITServiceProvider
#Quality
#Trustworthiness
#NetworkWorld
#Linux
#ManagingAndMonitoringSwap

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %