Недавно я увидел, что мой сервер Ubuntu 18.04 LTS
имеет высокое использование буферной / кэш-памяти.
free -mh
total used free shared buff/cache available
Mem: 7.8G 1.5G 4.4G 109M 1.9G 5.9G
Swap: 8.0G 0B 8.0G
Это после перезагрузки сервера, до того, как 5GB
.
top - 09:39:07 up 18 min, 1 user, load average: 0.09, 0.28, 0.58
Tasks: 161 total, 1 running, 104 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 0.1 sy, 0.0 ni, 99.1 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8153548 total, 4574140 free, 1534508 used, 2044900 buff/cache
KiB Swap: 8388604 total, 8388604 free, 0 used. 6202180 avail Mem
После запуска echo 3 > /proc/sys/vm/drop_caches
чтобы уронить его, он снова начал подниматься.
Как я могу определить, кто потребляет большую часть баффа / кеша, и стоит ли мне беспокоиться, если он достигнет такого уровня?
я должен волноваться, если поднимется так высоко?
Нет. В Linux кэширование имеет низкий приоритет, и его легко восстановить автоматически. https://www.linuxatemyram.com/
Фактически, половина свободной памяти означает, что у вас вдвое больше ОЗУ, которое вам «нужно» для этой рабочей нагрузки; половина не используется. Сделайте некоторое планирование мощности, чтобы проверить, увеличится ли рабочая нагрузка этого хоста. В противном случае вы можете уменьшить и перенаправить его память. Скажем, уменьшив объем оперативной памяти виртуальной машины до 6 или 4 ГБ.
После запуска
echo 3 > /proc/sys/vm/drop_caches
чтобы уронить его, он снова начал подниматься.
Не drop_caches, это не имеет оперативного назначения и замедляет работу. Хорошие варианты использования ограничиваются тестами холодного запуска.