How do I check swap (paging) usage under Linux operating systems using command bash/ksh line options? How do I check swap usage size on Linux operating system?

Swap space (also known as paging) is nothing but computer memory management involving swapping regions of memory to and from storage. You can see swap usage summary by device using any one of the following commands. You may have to login as root user to use the following commands. The maximum useful size of a swap area depends on the architecture and the kernel version. For Linux kernels after v2.3.3+ there is no such limitation on swap size.

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 as follows:
grep Swap /proc/meminfo

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:

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:

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

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 command

Type the following commands:
# 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

Try 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

Conclusion

This page showed you how to check for swap space size and utilization in Linux. If you see a large percentage of the swap space utilization, then it is time to add more physical RAM to the Linux system. Another option is to increase swap space by adding a swap file on Linux. Please see the following resources for more info:

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Similar Posts