Как проверить использование памяти в 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
  • free — Свободная/Неиспользуемая память.
  • shared — этот столбец можно игнорировать; это показано только для обратной совместимости.
  • 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 сообщает об использовании памяти ОЗУ для каждой программы. Он работает с 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

=================================

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

Вывод

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

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

Друзья помогите этому контенту стать доступнее в социальных сетях.

Не проходи мимо жмакни по кнопке возможно кому то еще он будет полезен!