При устранении неполадок, связанных с замедлением работы или ошибками системы или приложения, первое, что нужно проверить, – это использование системной памяти.
В этой статье объясняется, как проверить использование оперативной памяти в Linux с помощью нескольких различных команд.
free это наиболее часто используемая команда для проверки использования памяти в системе Linux. Он отображает информацию об общей, использованной и свободной памяти.
Как правило, freeвызывается с -hопцией, которая означает печать вывода в удобочитаемом формате:
free -h
total used free shared buff/cache available Mem: 3936 1087 252 130 2596 2427 Swap: 0 0 0
Вот что означает каждый столбец:
Команда free печатает информацию для физической памяти и системного обмена.
top – утилита командной строки, которая отображает в реальном времени информацию о запущенных процессах. Он также показывает системную сводку, включая использование памяти.
Чтобы вызвать команду, просто наберите top:
free -h
Заголовок выходных данных содержит информацию об общей, свободной и используемой физической памяти системы и подкачке.
Колонка %MEM содержит информацию о используемой доле доступной физической памяти для каждого процесса , выполняющегося.
Самый простой способ проверить использование оперативной памяти – это отобразить содержимое виртуального файла /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 в 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 =================================
Этот скрипт полезен, когда вы хотите узнать, какая запущенная программа занимает большую часть вашей системной памяти.
Мы показали вам несколько команд, которые вы можете использовать для проверки использования системной памяти.
Если у вас есть какие-либо вопросы или замечания, пожалуйста, оставьте комментарий ниже.