%20%E2%80%94%20%D0%BA%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%B2%D1%8B%D1%81%D0%B8%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C.png)
Мы используем KVM/qemu на Ubuntu 12.04 для создания виртуальной машины Windows 2008 R2, которая использует много ресурсов хоста (все ядра ЦП, 4 ГБ ОЗУ). Похоже, что во время загрузки Windows Windows выделяет всю назначенную ей память, и это действительно истощает ресурсы хоста и, похоже, иногда приводит к сбою сегментации KVM.
Существуют ли какие-либо рекомендуемые настройки или параметры для этого типа развертывания, помимо использования драйверов virtio и т. д. (больше в русле настроек гипервизора или настроек ядра хоста)?
решение1
Оказалось, что это какая-то комбинация версии ядра или QEMU, которую использует Ubuntu 12.04 LTS, поскольку обновление до 12.10 полностью исправило эту проблему. Я столкнулся с этим во время отладки процесса KVM во время его загрузки с помощью 'perf top', и он показывал интенсивное количество, которое __ticket_spin_lock
после поиска в архивах KVM привело к комментариям о возможном планировании ядра, а также к более новым патчам QMEU, в которых упоминалось улучшение проблем с планированием.
В версии 12.10 используются следующие версии.
QEMU emulator version 1.2.0 (qemu-kvm-1.2.0+noroms-0ubuntu2.12.10.6, Debian)
Kernel 3.5.0-46-generic
Я бы определенно рекомендовал это как минимальную версию на Ubuntu - прирост производительности был выдающимся. Хотя мы обычно предпочитаем LTS в этой ситуации, было просто легче обновиться, и 14.04 LTS должен выйти скоро в любом случае.