Проблема
На хосте ProxMox 5.2.1 с небольшим количеством памяти (8Gb) есть виртуальные машины Windows версий 7, Server 2008R2 и Server 2016. При установке или запуске виртуалок наблюдаются сильные тормоза. Система устанавливается и загружается очень медленно (может стартовать по 15 минут). Многие сервисы не могут запуститься.
Причина
Судя по всему - причина в проблемах при выделении памяти.
Решение
На хосте ProxMox 5.2.1 нужно выполнить такое:
echo never > /sys/kernel/mm/transparent_hugepage/enabled echo never > /sys/kernel/mm/transparent_hugepage/defrag
Можно прямо на ходу. Выключать или перезагружать хост не требуется.
Для виртуалки Windows Server 2008R2 время запуска уменьшилось с 10 минут до 16 секунд!!!
Чтобы эти найстройки применялись после рестарта нужно сделать соответствующий файлик автозапуска для systemd - /etc/systemd/system/disable-thp.service с таким содержимым:
[Unit] Description=Disable Transparent Huge Pages (THP) [Service] Type=simple ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag" [Install] WantedBy=multi-user.target
И затем включить и запустить получившийся “сервис”:
systemctl daemon-reload systemctl start disable-thp systemctl enable disable-thp
Discussion