Проблема
Сервер с 256 ГБ ОЗУ. Каждый VDS получает 512 МБ. Но в простое гость использует 16 МБ. Остальные 496 МБ простаивают.
Решение: virtio-balloon
Драйвер balloon позволяет хосту динамически изымать неиспользуемые страницы:
# QEMU: добавьте устройство
-device virtio-balloon-pci
# Proxmox:
qm set 100 --balloon 128
Как это работает в Синапс ОС
- Хост отправляет запрос через конфигурационное пространство (num_pages)
- Драйвер в госте находит свободные страницы
- Передаёт их адреса через inflateq
- Хост изымает физическую память
- При необходимости - deflate: страницы возвращаются
Результат
На сервере с 256 ГБ ОЗУ вместо 512 инстансов по 512 МБ можно разместить 700–750 инстансов без деградации.