Ответ
В выводе команды free или top:
free— это физическая память, которая в данный момент абсолютно свободна и не содержит никаких данных. Это «холодная» память.available— это оценка памяти, доступной для запуска новых приложений без подкачки (swapping). Она включает:- Весь
free. - Часть кэша страниц (
page cache) и буферов, которые могут быть немедленно освобождены, так как содержат данные, уже находящиеся на диске.
- Весь
Почему available важнее free? Linux агрессивно использует свободную память для кэширования дисковых операций (Page Cache). Это ускоряет работу. Когда приложению нужна память, ядро быстро освобождает часть этого кэша. Поэтому available — более реалистичный показатель свободной памяти.
Пример:
$ free -h
total used free shared buff/cache available
Mem: 16Gi 5.2Gi 1.1Gi 512Mi 9.7Gi 10Gi
Swap: 2.0Gi 0.0Ki 2.0Gi
Здесь free всего 1.1 GiB, но available — 10 GiB. Это значит, что можно запустить приложения, использующие до ~10 GiB, прежде чем система начнёт использовать своп.