Поиск
< Все темы
Почему у ВПС показывает мало памяти (RAM)
Разберем подробно, почему free -m может показывать меньше памяти, чем вы ожидаете, и как разобраться в ситуации.
Как работает команда free
Команда free считывает данные из файла /proc/meminfo и форматирует их для удобного вывода. Она не «считает» память сама, а отображает информацию от ядра Linux.
Что означают колонки в выводе free -m
Пример вывода:
total used free shared buff/cache available
Mem: 992 396 149 23 446 392
Swap: 0 0 0
Расшифровка:
- total — общий объём физической памяти, видимой ОС;
- used — память, занятая процессами, включая кеш и буферы;
- free — память, которая сейчас совсем не используется;
- shared — разделяемая память (например, tmpfs);
- buff/cache — кеш дисковых операций и буферы;
- available — объём памяти, который можно выделить новым процессам без использования swap.
Почему возникает расхождение
Основные причины:
Учёт кеша и буферов. В колонке used учитывается память, используемая для кеша (buff/cache). Linux активно использует свободную память для кеширования дисковых операций — это ускоряет работу. При необходимости ядро освободит кеш для приложений.
Зарезервированная память. Часть памяти может быть зарезервирована:
- ядром ОС для своих нужд;
- для видео‑памяти (на физических серверах с GPU);
- под специальные аппаратные нужды (например, IOMMU).
Как проверить реальную ситуацию
Выполните команды:
- free -h — основной обзор в человекочитаемом формате. Смотрите на колонку available — это реальная свободная память для приложений.
- cat /proc/meminfo — сырые данные от ядра. Сравните MemTotal с вашим тарифом.
- grep MemTotal /proc/meminfo — покажет точный объём доступной памяти в КБ.
- htop или top — интерактивные мониторы. Проверьте, не использует ли система swap (Swpd в top).
- dmidecode -t memory — информация об аппаратной памяти (может не работать в VPS).
- lsmem — детализация использования памяти.
- vmstat -s | grep memory — статистика по памяти.
Ключевые правила интерпретации
Не паникуйте, если free мало, а buff/cache большой. Это нормально: кеш освободится при запуске новых процессов.
Главный показатель — available. Если он высокий, памяти достаточно.
Если активно используется swap (в колонке Swap есть значения), значит, памяти действительно не хватает.
В VPS/контейнерах free показывает выделенный лимит, а не память физического сервера.
Пошаговый план действий
Проверьте реальный объём памяти:
grep MemTotal /proc/meminfo
Если значение сильно меньше заказанного — проблема у провайдера.
Оцените доступность:
free -h
Посмотрите на available. Если он близок к нулю, оптимизируйте приложения или увеличивайте память.
Убедитесь, что не используется swap:
swapon --show
Или в выводе free -h в секции Swap.
Краткий итог
free -m показывает меньше памяти, потому что:
- учитывает кеш как «занятую» память (used);
- может отображать лимит контейнера, а не всю память сервера;
- часть памяти зарезервирована ядром или гипервизором.
Главное — смотрите на колонку available. Она показывает, сколько памяти реально доступно для новых процессов. Если available близок к нулю и используется swap — пора принимать меры.
-
Личный кабинет
-
Настройки VDS/VPS
-
Работа с VDS/VPS
-
SSL-сертификаты
-
Домены
-
MetaTrader
-
FAQ
- Как заказать VPS с Windows
- Как установить Windows на VPS
- Узнать\сменить пароль на Windows
- Автоматическое выставление счетов
- Как применить ПРОМОКОД
- Продление услуги
- Установка WireGuard Easy
- Установка и подключение Bitvise SSH Client
- Как пройти идентификацию
- Пополнение лицевого счета с банковской карты или через СБП
- Почему у ВПС показывает мало памяти (RAM)