Skip to main content

How To Check Swap Usage Size and Utilization in Linux

https://www.cyberciti.biz/faq/linux-check-swap-usage-command/

Check swap usage size and utilization in Linux

The procedure to check swap space usage and size in Linux is as follows:

  1. Open a terminal application.
  2. To see swap size in Linux, type the command: swapon -s.
  3. You can also refer to the /proc/swaps file to see swap areas in use on Linux.
  4. Type free -m to see both your ram and your swap space usage in Linux.
  5. Finally, one can use the top or htop command to look for swap space Utilization on Linux too.

How to Check Swap Space in Linux using /proc/swaps file

Type the following cat command to see total and used swap size:

cat /proc/swaps
Sample outputs:

Filename				Type		Size	Used	Priority
/dev/sda3                               partition	6291448	65680	0

Another option is to type the grep command or egrep command as follows:

grep '^Swap' /proc/meminfo
Here is what I see:

SwapCached:            0 kB
SwapTotal:        524284 kB
SwapFree:         524284 kB

Look for swap space in Linux using swapon command

Type the following command to show swap usage summary by device

swapon -s
Sample outputs (you may see a filename such as /swap1 instead of a partition such as /dev/sda3):

Filename				Type		Size	Used	Priority
/dev/sda3                               partition	6291448	65680	0

Use free command to monitor swap space usage

Use the free command as follows:

free -g free -k

free -m
Sample outputs (look for swap line):

             total       used       free     shared    buffers     cached
Mem:         11909      11645        264          0        324       8980
-/+ buffers/cache:       2341       9568
Swap:         6143         64       6079

See Linux Check Memory Usage Using the CLI and GUI tutorial page for more info.

See swap size in Linux using vmstat command

Type the following vmstat command:

vmstat

vmstat 1 5
Sample outputs:

procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 1  9 1209512 101352   1504 127980    0    3    11    20   60   55  3  1 95  1
 2 11 1209640 101292   1508 134132  844  424  5608   964 23280 15012  2  8 20 70
 0 10 1210052 108132   1532 125764  648  660 10548   916 22237 18103  3 10 11 77
 1 13 1209892 106484   1500 128052  796  240 10484   980 24024 12692  2  8 24 67
 1  9 1209332 113412   1500 124028 1608  168  2472   620 28854 13761  2  8 20 70

Note down the following output from swap field:

  1. si: Amount of memory swapped in from disk (/s).
  2. so: Amount of memory swapped to disk (/s).

top/atop/htop/glances Linux commands

Prerequisite
By default, htop, atop, and glances command may not be installed on your system. Hence, use the apk command on Alpine Linux, dnf command/yum command on RHEL & co, apt command/apt-get command on Debian, Ubuntu & co, zypper command on SUSE/OpenSUSE, pacman command on Arch Linux to install the htop, atop, and glances.

Type any one of the following command at the CLI:
atop htop top glances
Sample outputs from top command:

 

top - 02:54:24 up 15:24,  4 users,  load average: 0.45, 4.84, 6.75
Tasks: 266 total,   1 running, 264 sleeping,   0 stopped,   1 zombie
Cpu(s):  3.2%us,  1.4%sy,  0.0%ni, 94.4%id,  1.0%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   8120568k total,  7673584k used,   446984k free,     4516k buffers
Swap: 15859708k total,  1167408k used, 14692300k free,  1151972k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
13491 vivek     20   0 1137m 279m 6692 S   10  3.5  19:17.47 firefox            
 5663 vivek     10 -10 1564m 1.1g  59m S    8 14.5   5:10.94 vmware-vmx         
 2661 root      20   0  352m 185m 8604 S    6  2.3  65:40.17 Xorg               
 3752 vivek     20   0 3566m 2.6g  12m S    6 33.6  63:44.35 compiz             
 4798 vivek     20   0  900m  50m 4992 S    2  0.6   0:11.04 chrome             
 5539 vivek     20   0 1388m 838m 780m S    2 10.6   1:45.78 VirtualBox         
 6297 root      20   0     0    0    0 S    2  0.0   0:00.15 kworker/2:0        
 6646 root      20   0 19252 1404  936 R    2  0.0   0:00.01 top                
    1 root      20   0  8404  644  608 S    0  0.0   0:03.32 init               
    2 root      20   0     0    0    0 S    0  0.0   0:00.03 kthreadd           
    3 root      20   0     0    0    0 S    0  0.0   0:02.30 ksoftirqd/0        
    6 root      RT   0     0    0    0 S    0  0.0   0:00.00 migration/0        
    7 root      RT   0     0    0    0 S    0  0.0   0:00.24 watchdog/0         
   37 root       0 -20     0    0    0 S    0  0.0   0:00.00 cpuset             
   38 root       0 -20     0    0    0 S    0  0.0   0:00.00 khelper            
   39 root      20   0     0    0    0 S    0  0.0   0:00.00 kdevtmpfs          
   40 root       0 -20     0    0    0 S    0  0.0   0:00.00 netns     

Sample outputs from htop command:

Linux: Swap Memory Usage Command

Fig.01: Linux: Swap Memory Usage Command

Sample outputs from glances command:
Linux Check Swap Usage Size Using glances command
See how to keep an eye on your Linux system with glances monitor for more info.

 

Linux Find Out What Process Are Using Swap Space

Try the smem command:

smem
OR

top

Linux GUI tool to monitor swap space size and usage

Try Gnome or KDE system monitor tool. For example, the GNOME System Monitor shows you what programs are running and how much processor time, memory (including paging/swap space size), and disk space are being used.
Swap space on Linux displayed using System Monitor