Linux get swap info

How To Check Swap Usage Size and Utilization in Linux

H ow 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.

Tutorial details
Difficulty level Easy
Root privileges Yes
Requirements None
Est. reading time 5m

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:

Another option is to type the grep command as follows:
grep Swap /proc/meminfo

Look for swap space in Linux using swapon command

Type the following command to show swap usage summary by device
# swapon -s
Sample outputs:

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

Use free command to monitor swap space usage

Use the free command as follows:
# free -g
# free -k
# free -m
Sample outputs:

See swap size in Linux using vmstat command

Type the following vmstat command:
# vmstat
# vmstat 1 5
Sample outputs:

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:

Sample outputs from htop command:

Fig.01: Linux: Swap Memory Usage Command

Linux Find Out What Process Are Using Swap Space

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.

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:

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

Linux Find Out What Process Are Using Swap Space

T he top and free command display the total amount of free and used physical and swap memory in the server. How do I determine which process is using swap space under Linux operating systems? How do I find out swap space usage of a particular process such as memcached?

Tutorial details
Difficulty level Intermediate
Root privileges Yes
Requirements Linux with smem and /proc
Est. reading time 6 minutes

You can use the any one of the following techniques but keep in mind that because of shared pages, there is no reliable way to get this information [ 1]

  1. /proc/meminfo – This file reports statistics about memory usage on the system. It is used by free to report the amount of free and used memory (both physical and swap) on the system as well as the shared memory and buffers used by the kernel. You can also use free, vmstat and other tools to find out the same information.
  2. /proc/$/smaps , /proc/$/status , and /proc/$/stat : Use these files to find information about memory, pages and swap used by each process using its PID.
  3. smem – This command (python script) reports memory usage with shared memory divided proportionally.

Finding out process ID and swap usage

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard

Join Patreon

To see swap space used by memcached (PID # 48440), enter (number #2):
# grep —color VmSwap /proc/48440/status
Sample outputs (number #4):

Or the following awk command (number #3):
# awk ‘/VmSwap/‘ /proc/48440/status
Sample outputs (number #4):

Fig.01: Finding out memcached process swap usage on Linux

Listing all process swap space usage

Type the following bash for loop command to see swap space usage per process:

Type the following command to sort out output:

Say hello to smem

The smem command reports physical memory usage, taking shared memory pages into account. Unshared memory is reported as the USS (Unique Set Size). Shared memory is divided evenly among the processes sharing that memory. The unshared memory (USS) plus a process’s proportion of shared memory is reported as the PSS (Proportional Set Size). The USS and PSS only include physical memory usage. They do not include memory that has been swapped out to disk. Memory can be reported by process, by user, by mapping, or system-wide. Both text mode and graphical output are available.

Installation

To install smem [ 2] type the following command under Debian / Ubuntu Linux:
$ sudo apt-get install smem
RHEL / CentOS Linux user type the following command:
$ wget https://www.selenic.com/smem/download/smem-1.4.tar.gz
$ tar xvf smem-1.4.tar.gz
# cp /tmp/smem-1.2/smem /usr/local/bin/
# chmod +x /usr/local/bin/smem

How do I use smem command?

To see basic process information, enter:
# smem
Sample outputs:

To see library-oriented view, enter:
# smem -m
To see user-oriented view, enter:
# smem -u
Sample outputs:

To see systemwide memory usage summary pass the -w option:
# smem -w
Sample outputs:

To see system view
# smem -R 8G -K /path/to/vmlinux/on/disk -w
To see totals and percentages, enter:
# smem -t -p
Sample outputs:

Options

Type the following command to see all other supported options:
# smem —help
Sample outputs:

A note about top command

Type the top command as root:
# top
To sort process as per swap page usage (SWAP = VIRT – RES) type capital O (option) followed by p (small p ) and [Enter] key:

Fig.02 top command – sored process by swap usage (click to enlarge)

References:

It is not possible to get the exact size of used swap space of a process. The top command fakes this information by making SWAP = VIRT – RES, but that is not a good metric, because other stuff such as video memory counts on VIRT as well (for example: top says my X process is using 81M of swap, but it also reports my system as a whole is using only 2M of swap. Therefore, I will not add a similar Swap column to htop because I don’t know a reliable way to get this information (actually, I don’t think it’s possible to get an exact number, because of shared pages).

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

Как быстро выяснить какой процесс в Linux использует пространство подкачки (swap)

Заметка очень короткая и призвана администраторам помочь быстро найти процессы которые максимально используют пространство swap. Что делать с этими процессами — это уже отдельная тема, главное найти кто потребляет swap.

Исходные данные: ОС Oracle Linux 7;
Задач: Найти потребителя SWAP

Типичная ситуация на сервере с системой мониторинга — это аларм вида:
prod-srv-01 Low free swap space (free: 0.15 %, threshold: 10%, alert started: 8.79 %)

Вначале немного теории, о том как получить информацию о распределении памяти процессами в Linux.

  • /proc/meminfo — псевдо-файл который сообщает статистику об использовании памяти в системе. Вы также можете использовать утилиты free, vmstat и другие инструменты, чтобы узнать ту же информацию;
  • /proc/$/smaps, /proc/$/status и /proc/$/stat — используйте эти псевдо-файлы для поиска информации о потреблении памяти каждым процессом ($ замените на номер процесса);
  • smem — утилита (скрипт python), которая поможет вывести информацию в более удобном виде;

    Теперь идем на сервер и смотрим:

    Мы видим, что swap заполнен на 100% — это плохо.

    Попробуем быстро выяснить кто основной потребитель, для этого обратимся к /proc/*/status
    Ниже простой сценарий на bash который выдаст нам список потребителей swap:

    Результат будет длинным, я покажу только TOP потребителей:

    Мы видим, что основной потребитель — это процесс ora_j001_bs. На сервере установлен Oracle и один из процессов потребляет swap.
    На втором месте мы видим процесс rsyslogd — думаю он в представлении не нуждается.

    Если на потребителя №1 мы не можем повлиять быстро, то на потребителя №2 (rsyslogd) можем — это попытаться его перазапустить.

    Выполняем перезапуск rsyslogd:

    И смотрим состояние swap:

    Мы видим, что стало доступно 1.6 GB, а это уже более 30% от размера swap, что вполне нас должно устроить на первое время.

    На этом все, до скорых встреч. Если у Вас возникли вопросы или Вы хотите чтобы я помог Вам, то Вы всегда можете связаться со мной разными доступными способами.

    Источник

    5 Commands to Check Swap space in Linux

    When the physical memory or RAM on our system is full, we end to make use of the swap space on our systems. In this process, the inactive pages of our memory are moved to the swap space, creating more memory resources. This space is especially useful when a system is down on RAM; however, swap space is located on the hard drive and hence slower to access. Therefore, it should not be considered an appropriate alternative to RAM.

    In this article, we will describe a few ways to check for available swap space on your Ubuntu system. The commands and procedures described in this article have been run on an Ubuntu 18.04 LTS system.

    We are making use of the Ubuntu command line, the Terminal, in order to check swap space on our system. In order to open the Terminal, you can either use the Dash or the Ctrl+alt+T shortcut. Then you can choose the following ways to get swap space information:

    The Linux free command

    This command is used to check memory and swap utilization on your system in a few lines. Without the use of any switch, the displayed output is printed in kilobytes.

    With the -h switch, the free command displays the memory and swap utilization in nearest possible, 3 digit format.

    The swapon command

    You can use the swapon command to check swap on a particular partition, logical volume or a file. Here, we will use it with the -s (summary) switch in order to get swap details (in kilobytes).

    Advertisement

    The top command

    The header section of the top command output shows the swap space information, in kilobytes. Other commands that give this information include htop, glances, and itop, etc.

    The vmstat command

    Through the vmstat command, you can view the swap in and swap out information. However, you can not see the total values of the swap as seen is the previously mentioned commands.

    The /proc/swaps file

    You can also view the swap size information throough he swap configuration file /proc/swaps. It also displays device-wise swap information so that you can see device name (partition, logical volume or file), its type and how much swap it contributing to the system.

    Though the very simple commands described in this article, you can view the swap space on your Ubuntu system and utilize it when your system is running low on RAM resources.

    Karim Buzdar

    About the Author: Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. You can reach Karim on LinkedIn

    Источник

    Читайте также:  Ibm websphere mq установка windows
  • Оцените статью