При устранении неполадок, связанных с замедлением работы или ошибками системы или приложения, первое, что нужно проверить, – это использование системной памяти.
В этой статье объясняется, как проверить использование оперативной памяти в 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 =================================
Этот скрипт полезен, когда вы хотите узнать, какая запущенная программа занимает большую часть вашей системной памяти.
Вывод
Мы показали вам несколько команд, которые вы можете использовать для проверки использования системной памяти.
Если у вас есть какие-либо вопросы или замечания, пожалуйста, оставьте комментарий ниже.