Как проверить использование памяти в Linux

При устранении неполадок, связанных с замедлением работы или неправильным поведением системы или приложений, в первую очередь необходимо проверить использование системной памяти.

В этой статье объясняется, как проверить использование ОЗУ в Linux с помощью нескольких разных команд.

free команда

free — это наиболее часто используемая команда для проверки использования памяти в системе Linux. Он отображает информацию об общей, используемой и свободной памяти.

Как правило, free вызывается с параметром -h что означает печать вывода в удобочитаемом формате:

free -h
              total        used        free      shared  buff/cache   available
Mem:           3936        1087         252         130        2596        2427
Swap:             0           0           0

Вот что означает каждый столбец:

  • total — общий объем памяти, который может использоваться приложениями.
  • used — Используемая память. Он рассчитывается как: used = total - free - buffers - cache
  • бесплатно — Свободная / неиспользуемая память.
  • общий — этот столбец можно игнорировать; он показан только для обратной совместимости.
  • buff / cache — объединенная память, используемая буферами ядра, а также страничным кешем и блоками. Эта память может быть освобождена в любое время, если это необходимо приложениям.
  • available — оценка объема памяти, доступного для запуска новых приложений без подкачки.

Команда free печатает информацию о физической памяти и системном свопе .

top команда

top — это утилита командной строки, отображающая информацию о запущенных процессах в реальном времени. Он также показывает сводку системы, включая использование памяти.

Чтобы вызвать команду, просто введите top :

free -h

Результат будет выглядеть примерно так:

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

Столбец %MEM предоставляет информацию об используемой доле доступной физической памяти для каждого запущенного процесса.

/proc/meminfo

Самый простой способ проверить использование оперативной памяти — отобразить содержимое виртуального файла /proc/meminfo . Этот файл используется командами free , top , ps и другими командами системной информации.

Используйте less или cat для просмотра содержимого файла /proc/meminfo :

cat /proc/meminfo

Файл включает в себя большой объем информации об использовании системной памяти и подкачки:

MemTotal:        4030592 kB
MemFree:          401804 kB
MemAvailable:    2507504 kB
...

Информация из файла /proc/meminfo может быть проанализирована и использована в сценариях оболочки.

ps_mem Скрипт

ps_mem — это скрипт Python, который сообщает об использовании памяти RAM для каждой программы. Он работает как с Python 2, так и с 3 и может быть установлен с помощью pip :

sudo pip3 install ps_mem

Для ps_mem требуются права администратора:

sudo ps_mem

Вывод будет включать использование памяти каждой запущенной программой в порядке возрастания:

 Private  +   Shared  =  RAM used	Program
...
 11.9 MiB +  20.2 MiB =  32.1 MiB	nginx (4)
  8.2 MiB +  42.4 MiB =  50.6 MiB	systemd-journald
 55.8 MiB + 307.2 MiB = 363.0 MiB	php-fpm7.4 (6)
233.9 MiB + 234.0 MiB = 467.9 MiB	redis-server
578.2 MiB + 578.6 MiB =   1.1 GiB	mysqld
---------------------------------
                          2.2 GiB
=================================

Этот сценарий полезен, когда вы хотите узнать, какая запущенная программа занимает большую часть вашей системной памяти.

Выводы

Мы показали вам несколько команд, которые вы можете использовать для проверки использования системной памяти.

Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.

Оставьте комментарий