Ну тут мы таки исходим из того, что LXC/Docker/K8S имеют 2 значения ресурсов
- Запрашиваемое/резервируемое значение - то, что должно быть минимум на хосте для запуска сервиса
- Максимальное значение, доступное сервису, выше которого он не может использовать ресурсы
1 Параметр в основном используется в k8s для определения узла, на котором запускать конкретный сервис (точнее под), ну т.е. мы определяем, формально сервис влезет или нет, для PVE это не особо существенно т.к. распределением контейнеров мы занимаемся сами
2 Параметр вообще опционален, но PVE решили его сделать обязательным (тут я подозреваю, что это было сделано для унификации VM и CT)
Но оба этих параметра никак не влияют на реальное использование оперативной памяти, а реальное резервирование происходит только для VM с выключенным балунингом.
Для PVE CT Параметр Memory означает сколько максимум контейнер сможет выделить оперативки, но не сколько резервируется под контейнер из общего пула
Это значит, что из вашей таблицы опмимум 21.75 не будет занят и 10 сервисов вполне нормально будут работать на 8-10 ГБ оперативки, проблемы будут только в момент, когда все сервисы одновременно начинают использовать ресурсы по полной.
16 ГБ для этой конфигурации хватит с головой!
Например, моя самая “жирная” нода
RAM usage 23.26% (14.12 GiB of 60.73 GiB) крутит сейчас 26 сервисов
Список
root@pve-02:~# pct list | grep running
101 running abs
105 running frigate
111 running immich
112 running share-note
119 running esphome
121 running linkwarden
122 running ost
125 running ols
126 running netbox
131 running semaphore
134 running traefik-pve-02
135 running forgejo
140 running homepage
145 running forgejo-runner-2
146 running adguard
148 running torrserver
149 running komodo
152 running pulse
156 running komodo-node
159 running guacamole
161 running certbot
163 running openbao-pve-02
165 running wiremock
174 running palmr
176 running test-truenas-lvm
177 running scrutiny
180 running karakeep
Поэтому, в рамках хомлабы можно выделять хоть по 32 гб всем сервисам и будет работать нормально, но если какой-то сервис сожрет всю оперативку, то остальные начнут получать ООМ.
Тут я бы исходил из реального использования: смотрите по факту сколько используется ресурсов на PVE ноде (9 версия добавила еще графиков) и если понимаем, что ресурсов не хватает, то думаем над масштабированием.
Из тех сервисов, что у вас в списке
- Immich - у меня выделено 8ГБ и 4 ядра для того, чтобы быстро импорт больших коллекций проходил. Фактически в фоне до 1ГБ
- Linkwarden - сейчас 3ГБ занято, тоже увеличил до 8. Он в процессе добавления ссылок очень активно использует ресурсы. Я в процессе поиска альтернатив
- adguardhome - лимит 1Гб спользуется 64МБ
- PBS - выделял 4Гб на виртуалке, сейчас 2ГБ в LXC контейнере, но используется в районе 512МБ
- Nginx Proxy Manager - выделено 2ГБ используется 670МБ