Как в Linux проверить объем свободной оперативной памяти

«Как в Linux проверить объем свободной оперативной памяти» — вопрос из категории Операционные системы, который задают на 10% собеседований Python Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для проверки использования оперативной памяти в Linux существует несколько стандартных утилит, которые читают данные напрямую из псевдо-файловой системы /proc.

1. Команда free (основной способ)

Это наиболее распространенная утилита для быстрого обзора состояния памяти. Ключ -h (human-readable) форматирует вывод в удобных единицах (килобайты, мегабайты, гигабайты).

free -h

Пример вывода:

              total        used        free      shared  buff/cache   available
Mem:           7.7Gi       3.0Gi       175Mi       1.0Gi       4.6Gi       3.6Gi
Swap:          2.0Gi       512Mi       1.5Gi

Важные поля:

  • total: Общий объем физической памяти.
  • used: Используемая память.
  • free: Полностью свободная память (часто небольшое значение).
  • buff/cache: Память, используемая ядром для буферов и кэширования дисковых операций.
  • available: Наиболее важный показатель. Оценка объема памяти, доступного для запуска новых приложений без использования swap. Включает в себя free и часть buff/cache, которую можно легко освободить.

2. Файл /proc/meminfo

Утилита free получает свои данные из этого файла. Он содержит более детальную статистику, полезную для скриптов или глубокого анализа.

# Посмотреть всю информацию
cat /proc/meminfo

# Найти ключевые значения, аналогичные выводу free
grep -E 'MemTotal|MemFree|MemAvailable' /proc/meminfo

3. Интерактивные утилиты top и htop

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