Почему сохранение KVM-QEMU VM требует дополнительной памяти?

У меня три виртуальные машины, работающие на Red Hat Enterprise Linux с 8 ГБ ОЗУ, каждая из виртуальных машин имеет 3 ГБ, и я также запускаю 512 МБ виртуальной машины. Если мы также рассмотрим использование памяти гостевой ОС (обычно 1,5 ГБ из-за обязательного корпоративного антивируса), это добавит до 11 ГБ ОЗУ. Чтобы иметь возможность запускать все эти вещи без остановки моего компьютера, я использую ZRAM с максимальным объемом памяти 7 ГБ. В большинстве случаев у меня практически нет таких проблем, но в свою очередь, моя память, как правило, очень заполнена: около 700 МБ свободной физической памяти и примерно столько же свободного ZRAM.

То, что я нашел из этой настройки, заключается в том, что для успешного сохранения состояния виртуальной машины с помощью virt-manager Save virt-manager (которая переводится в managedsave virsh ), я должен добавить дополнительное пространство подкачки, и когда это произойдет, моя виртуальная машина будет сохраняться примерно со скоростью, с которой считывается пространство подкачки, потому что казалось бы, что алгоритм сохранения состояния виртуальной машины состоит в том, чтобы скопировать блоки гостевой памяти в память хоста, а затем сохранить эти блоки на жесткий диск, что означает сохранение VM состояние требует некоторого количества дополнительной памяти. В результате проб и ошибок я обнаружил минимальную дополнительную виртуальную память, необходимую для сохранения моих 3-гигабайтных виртуальных машин на 1 ГБ, то есть я должен опубликовать swapon <pagefile> файл swapon <pagefile> в файле размером 1 ГБ, отформатированном как пространство подкачки, что заставляет меня думать, что вам нужно не менее 30% установленной памяти вашей виртуальной машины, чтобы сохранить ее состояние. Кроме того, когда у меня достаточно ZRAM, но моя основная память почти заполнена, я могу видеть на GKrellm, как моя система постоянно набирает страницы на своп-памяти в памяти.

Итак, кто-нибудь точно знает, почему KVM-QEMU требует дополнительной памяти, чтобы сохранить состояние виртуальной машины?

Interesting Posts

Разрешения для файлов при удалении пользователя из git

Файлы времени и лог-файлы

включить часовую зону IST в марионеточной

Как узнать, написан ли сценарий оболочки в bash или sh

Сделайте «.» И «источник» по умолчанию равным ~ / .zshrc

Как «кошка» обрабатывает большие файлы при использовании в составе трубы?

Графика в TTY

RHEL7 «Слишком много ошибок аутентификации для», MaxAuthTries не влияет

Что выбрать – команды BSD или Unix, если они доступны?

успешна ли команда ssh или нет?

Есть ли способ установить правила для минимизации в системный лоток для приложений, которые сами не поддерживают его?

Как написать данные отдельно во многих текстовых файлах, содержащих одни и те же поля?

Почему эмуляторы терминалов Linux не поддерживают полные цвета?

Добавление второго графического процессора значительно снижает мою графическую производительность

Можно ли обменяться безопасностью во время спячки?

Linux и Unix - лучшая ОС в мире.