Очень хорошая статья про то как читать free -h и в целом про работу Linux с оперативной памятью и использованию ее под файловый кеш.
~# free -h
total used free shared buff/cache available
Mem: 755Gi 99Gi 13Gi 54Gi 703Gi 655Gi
🟢 total - общее количество RAM в системе
🟢 used - количество памяти, используемое системой и приложениями (без учёта buff/cache)
🟢 free - абсолютно свободная RAM, не используемая ни под что (ни под приложения, ни под кеш/буферы)
🟢 shared - память, используемая разделяемыми библиотеками и для общей памяти между процессами (tmpfs, ramfs, shared memory segments)
🟢buff/cache - память, используемая под буферы и кеш ядра (файловый кеш, метаданные, сокеты, inodes и т.п.)
🟢available - реально доступная память для запуска новых приложений без использования swap (≈ free + часть buff/cache, которую можно освободить мгновенно)
Выше приведен вывод команды с одного из действующих серверов раздачи контента, в котором под файловый кеш задействовано более 700GB RAM и при таких объемах возникают "особенности" про которые на момент написания статьи, вероятно, никто не думал. А мы расскажем чуть позже.
«Теория без практики мертва, практика без теории слепа», поэтому в конце статьи есть ссылка на практическую часть, по которой можно оценить время работы с/без использования файлового кеша.
P.S.
Очень релевантная инфа для собесов 😉