Proxmox съел всю память
После запуска очередного контейнера мониторинг сообщил о высокой утилизации RAM на ноде. Запрос в гугл "proxmox high ram usage" нашел ответ быстро. Об этом ниже.
Как оказалось у меня уже давно утилизация памяти была близка к 90%, я сильно не парился, кеши всякие и все дела, что нужно для ОС. Но я посчитал, что все запущенные виртуалки и контейнеры в Proxmox должны утилизировать около 6-7 ГБ оперативной памяти, но никак не 15.
Через поисковик я попал в нужную тему на форме proxmox.
Ответ был простой: zfs, который я использую у себя в проекте забирает очень много памяти под кеш ARC. Так же на форуме дали ссылку на документацию, которая ответила на все вопросы.
Формула расчета простая: 2GB памяти + 1 ГБ на каждый ТБ zfs.
У меня 16 ГБ оперативной памяти, 2 ТБ и 500ГБ разделы zfs, округлил до 6ГБ.
Для теста нужно выполнить команду, которая применится сразу и сократит объем занимаемой кешем памяти
echo "$[6 * 1024*1024*1024]" >/sys/module/zfs/parameters/zfs_arc_maxЕсли все прошло хорошо и ничего не тормозит и работает корректно, то нужно применить это дело на постоянку, выполнив запись в файл
echo "options zfs zfs_arc_max=6442450944" > /etc/modprobe.d/zfs.confЗначение 6442450944 расчитывается для 6 ГБ так: 6 * 2^30.
В результате расход памяти уменьшился до приемлимых значений

Last updated