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

Important: команды приведены для Ubuntu/Debian-подобных дистрибутивов. В других дистрибутивах имена пакетов и менеджеры пакетов могут отличаться.
Зачем смотреть использование памяти
Коротко: проверка памяти помогает понять, какие процессы загружают систему, когда нужен swap и когда искать утечки. Понять понятия «used», «available», «buffers/cache» и «swap» — ключ к правильной интерпретации данных.
Определения в одну строку:
- used — объём оперативной памяти, сейчас занятый системой и процессами;
- available — объём памяти, который можно выделить для новых процессов без существенного замедления;
- buffers/cache — данные, которые ОС кэширует для ускорения доступа к диску; при необходимости они освобождаются.
Графические утилиты для проверки памяти
Ubuntu по умолчанию включает «System Monitor» (Системный монитор). Найдите его через «Показать приложения» и поиск по слову «monitor». Если приложение отсутствует, установите:
sudo apt install gnome-system-monitorGnome System Monitor

Приложение имеет три вкладки: Процессы, Ресурсы и Файловые системы. Во вкладке Процессы можно сортировать по использованию памяти, принудительно завершать процессы и менять приоритеты (nice). Во вкладке Ресурсы видны загрузка CPU, использование памяти и swap, и сетевая активность.

Полезный трюк: сделайте окно «всегда поверх» через правый клик по заголовку. Это оставит монитор видимым при запуске полноэкранных приложений.
Conky
Conky рисует статистику прямо на рабочем столе. Это удобно, если нужно постоянно видеть состояние системы. Установите:
sudo apt install conky-allПо умолчанию Conky появляется слева, что может мешать панелям рабочего стола. Чтобы копировать стандартный конфиг и поменять позицию на правую:
cp /etc/conky/conky.conf ~/.conkyrc && sed -i 's/left/right/' ~/.conkyrcЗапустите Conky командой:
conky
Conky гибко настраивается: можно писать свои шаблоны, использовать готовые темы и подключать виджеты. Для удобства есть внешние менеджеры тем Conky Manager, но они не обязательны.
Командные утилиты для проверки памяти
На серверах и в оболочках GUI может не быть. Тогда используйте командную строку.
Команда free
В терминале выполните:
free -h
Интерпретация:
- Столбец «used» показывает сколько памяти занято системой и процессами.
- Столбец «available» — сколько памяти можно выделить под новые задачи; это наиболее полезное значение для оценки свободной памяти.
- Buffers/cache может занимать большую часть ОЗУ, но эти данные можно освободить при необходимости.
Важно: в Linux «пустая» память — это плохо. Система старается использовать свободную ОЗУ для кеширования и ускорения работы.
top и htop
Команда top установлена почти везде. Запустите:
topНажмите q для выхода. Вывод top информативен, но компактный и не всегда удобен.
Много администраторов предпочитают htop за цветную визуализацию и удобство навигации. Установите и запустите:
sudo apt install htop
htop
В htop первые полосы показывают загрузку ядер CPU. В полосе памяти ориентируйтесь на зелёный сегмент — он показывает реальное использование процессами. Синие и коричневые сегменты — buffers и cache, их можно освобождать при необходимости.
В htop можно использовать мышь, сортировать процессы, посылать сигналы (SIGTERM, SIGKILL) и смотреть дерево процессов.
Быстрый справочник команд
free -h # удобочитаемый вывод памяти
vmstat 1 5 # статистика памяти и CPU каждую секунду 5 раз
top # базовый монитор в терминале
htop # улучшенный интерактивный монитор процессов
ps aux --sort=-%mem | head # 10 процессов с наибольшим потреблением памяти
pmap -x # карта памяти процесса по страницам
smem -k # отчёт по потреблению памяти с разделением по PSS (если установлен)
sysctl vm.swappiness=10 # уменьшить агрессивность использования swap (временное) Примечание: для pmap и smem нужны права, если процесс принадлежит другому пользователю.
Как диагностировать утечку памяти — мини-методология
- Репликация: запустите рабочую нагрузку или сервис в тестовой среде.
- Снимки: фиксируйте значения free -h и htop каждые 5–15 минут.
- Сортировка: используйте ps aux –sort=-%mem и pmap для подозрительных PID.
- Изоляция: остановите сервисы один за другим, чтобы сузить круг виновников.
- Мониторинг логов: проверьте логи на исключения и предупреждения.
- Тесты под нагрузкой: используйте стресс-тесты, чтобы увидеть рост потребления.
- Фиксация: если память растёт непрерывно, готовьте дампы памяти и профилировщики (heap profiler) для приложений на Java, Python и т.д.
Критерии приёмки
- После корректного исправления утечки общее использование ОЗУ стабилизируется при штатной нагрузке.
- Количество перезапусков службы из-за OOM (Out Of Memory) стремится к нулю.
- Swap используется минимально и только при пиковых нагрузках.
Когда представленные методы не подходят
- На минималистичных встраиваемых системах GUI и Conky недоступны — используйте только CLI.
- В контейнерах (Docker) вывод free/htop может отражать память хоста, а не контейнера; используйте cgroup-инструменты и docker stats.
- В системах с нестандартными менеджерами (например, Alpine / BusyBox) некоторые пакеты недоступны — ищите альтернативы в репозитории.
Альтернативные подходы и инструменты
- Для контейнеров: docker stats, cgroupfs, cadvisor.
- Для кластеров: Prometheus + node_exporter + Grafana для метрик и визуализации.
- Для приложений: профилировщики языка (Java Flight Recorder, Go pprof, Python tracemalloc).
- Для долгосрочного аудита: настроить сбор метрик и алерты на рост использования памяти.
Чек‑лист по ролям
Администратор:
- Настроить базовый мониторинг (free/htop) и оповещения.
- Проверять swap и swappiness.
- Проводить регулярные ревью процессов.
Разработчик:
- Профилировать приложение под рабочей нагрузкой.
- Писать тесты на утечки памяти.
- Обрабатывать исключения и корректно освобождать ресурсы.
Пользователь/оператор:
- Сообщать администратору о медленном росте потребления памяти.
- При необходимости перезапустить приложение через systemd с сохранением логов.
Короткий словарь
- OOM — Out Of Memory, ситуация, когда система не может выделить память.
- PSS — Proportional Set Size, метрика разделяемой памяти для оценки реального потребления.
- Swapping — перенос страниц памяти на диск (swap) при недостатке ОЗУ.
Безопасность и совместимость
- Для корректной диагностики запускайте команды с правами, но избегайте выполнения скачанных скриптов без проверки.
- На серверах с SELinux/AppArmor доступ к некоторым инструментам может быть ограничен; проверьте политики.
- Для старых дистрибутивов названия пакетов и конфиги могут отличаться: используйте системный менеджер пакетов вашего дистрибутива.
Заключение
Утилиты для мониторинга памяти в Linux вариативны: от визуальных (Gnome System Monitor, Conky) до мощных CLI-инструментов (free, top, htop, pmap). Понимание различий между «used», «available» и «buffers/cache» помогает правильно интерпретировать данные. Для поиска утечек используйте методику репликации, снимков и профилирования. Настройка мониторинга и регулярный анализ помогут вовремя обнаружить проблемы.
Краткое резюме:
- Сначала смотрите available в free -h.
- Для интерактивного анализа используйте htop.
- Для постоянного наблюдения — Conky или систему метрик (Prometheus + Grafana).
- При подозрении на утечку применяйте пошаговую методику диагностики.
Summary
- Проверяйте память регулярно и настраивайте оповещения.
- Не пугайтесь большой цифры в buffers/cache — это нормальное поведение.
- В контейнерах и при специфичных настройках используйте профильные инструменты.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента