Хотите узнать, сколько оперативной памяти потребляют отдельные процессы на Linux-сервере? Покажем простые команды, с которыми легко разобраться даже начинающему администратору VPS.
Введение
Оперативная память — один из ключевых ресурсов сервера. Если её не хватает, система начинает использовать своп (подкачку), сайты и приложения замедляются, а иногда сервер и вовсе «зависает». Поэтому администраторы регулярно следят за тем, сколько памяти используется и какие процессы занимают больше всего ресурсов.
В Linux для этого есть десятки способов: от простых команд в консоли до комплексных инструментов мониторинга. В этой статье разберём самые удобные и универсальные методы, которые помогут быстро оценить текущее состояние памяти и найти «прожорливые» процессы.
Использование команды ps
Команда ps показывает список процессов и их параметры. Чтобы увидеть, сколько памяти потребляет конкретный процесс, можно воспользоваться такой командой:
ps aux
Она выведет список всех процессов с их идентификаторами (PID). Допустим, у нас веб-сервер Apache с PID 788221. Чтобы проверить его использование памяти:
ps -p 788221 -o pid,vsz,rss,%mem,cmd
Здесь:
- PID — идентификатор процесса,
- VSZ — виртуальная память (в Кб),
- RSS — реально используемая память (в Кб),
- %MEM — процент от общей оперативной памяти,
- CMD — команда, которой запущен процесс.
Пример вывода:
PID VSZ RSS %MEM CMD
788221 387153 35176 9.6 /usr/sbin/httpd.itk -k start
Здесь видно, что процесс использует около 9,6 % оперативной памяти.
Использование команд top и htop
Команда top — один из самых популярных инструментов для мониторинга ресурсов в реальном времени. Она показывает процессы, обновляя статистику каждую секунду:
top -p 788221
В выводе важные поля:
- %MEM — процент памяти, используемой процессом,
- VIRT — общий объём виртуальной памяти (ОЗУ + своп),
- RES — реально используемая оперативная память.
Пример:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
788221 root 20 0 378m 34m 500 S 0.0 0.1 0:04.77 httpd.itk
Для удобства можно использовать улучшенный вариант — htop. Он устанавливается отдельным пакетом и отображает информацию в более наглядном виде, с цветной диаграммой памяти.
htop позволяет:
- сортировать процессы по памяти и CPU,
- искать нужные PID,
- завершать процессы прямо из интерфейса.
Чтение данных из /proc
Linux хранит информацию о процессах в псевдофайловой системе /proc.
Чтобы узнать, сколько памяти занимает процесс с PID 788221, используем:
cat /proc/788221/status | grep -i vm
В выводе будут строки:
VmSize: 477698 kB # общий объём виртуальной памяти
VmRSS: 35176 kB # реально используемая память (аналог RSS)
VmSwap: 0 kB # использование подкачки
Этот метод особенно полезен, если нужно быстро получить точные цифры в скрипте или автоматизации.
Проверка общей статистики памяти
Если важно понять картину в целом, а не по отдельным процессам, можно использовать:
- free -h — покажет общее количество ОЗУ, сколько занято и свободно;
- vmstat -s — выводит сводную статистику по использованию памяти и процессам;
- sar -r 1 5 (если установлен пакет sysstat) — собирает статистику по памяти каждые 1 секунду, 5 раз подряд.
Эти команды позволяют быстро оценить, хватает ли серверу памяти в принципе, или уже стоит задуматься о её расширении.
Заключение
Следить за использованием оперативной памяти на Linux-сервере можно разными способами — от простых команд вроде ps и free, до продвинутых инструментов мониторинга вроде htop или анализа файлов в /proc.
Для быстрой диагностики подойдут ps и top. Если нужно регулярно контролировать нагрузку, удобнее использовать htop или встроить команды в скрипты. А если сервер часто упирается в лимит памяти — это сигнал либо оптимизировать процессы, либо добавить ресурсов.
Читайте в блоге:
- Настраиваем nftables для защиты веб-сервера на Ubuntu 24.04
- Как обновить ядро Linux на Ubuntu 24.04 и откатить изменения при ошибках
- Как перенести Ubuntu 24.04 на новый сервер без переустановки