RAM
Описание
RAM - оперативная память.
Нужна чтобы хранить данные, с которыми процесс работает прямо сейчас.
Диск медленнее. RAM быстрее.
Связанные темы:
Когда тратится RAM
-
код приложения и runtime,
-
heap приложения,
-
кеши,
-
активные соединения,
-
буферы сети,
-
страницы файловой системы,
-
данные БД в памяти,
-
сортировки и hash join,
-
временные структуры при запросах.
Когда RAM тратится полезно
-
кешируются частые данные,
-
БД держит горячие страницы в памяти,
-
приложение не ходит лишний раз на диск/в сеть,
-
сортировка помещается в памяти,
-
меньше I/O на диск.
Свободная RAM на сервере не всегда цель.
Linux может использовать RAM как файловый кеш, это нормально.
Когда RAM тратится плохо
-
утечка памяти,
-
слишком большие кеши без лимитов,
-
слишком много соединений к БД,
-
много pod без requests/limits,
-
запросы делают большие сортировки,
-
приложение хранит большие файлы в памяти целиком.
Симптомы нехватки
-
OOMKilled в Kubernetes,
-
swap,
-
резкий рост latency,
-
temp files в PostgreSQL,
-
процесс перезапускается,
-
GC начинает занимать много времени.