
У меня есть 2 виртуальных машины, работающих в качестве гостей на платформе виртуализации KVM, работающей на Ubuntu 10.04. Одна виртуальная машина — это система Ubuntu 10.04, другая — система Windows 7. Когда обе машины полностью выходят из системы, машина Linux использует 1% ЦП, а Windows — 45–50%, согласно top. Графики в virt-manager, похоже, подтверждают это. На образе Win7 не установлено ничего, что могло бы работать в фоновом режиме; он настолько свежий, насколько это возможно.
Почему виртуальная машина Windows использует намного больше ресурсов, чем виртуальная машина Linux, если обе вышли из системы и простаивают?
Редактировать:
Я установил гостевую систему с драйверами хранилища Paravirt и сети с самого начала. Я не думаю, что есть какие-то другие драйверы, которых мне не хватает, я ошибаюсь?.
Согласно диспетчеру задач гостя, он действительно простаивает. Taskman занимает около 1 или 2 % гостевого ЦП, но нет других процессов, которые бы занимали процессорное время.
решение1
Какую версию QEMU-KVM вы используете?
Мы видели эту проблему в версиях 0.12.3 и ниже, но она, похоже, не является большой проблемой в 0.12.4. Также проверьте, запущены ли заставки. Если вы используете соединение VNC, то оно может быть запущено там, и загрузка ЦП не будет внутри виртуальной машины — она будет использоваться процессом KVM.
решение2
Я знаю, что мой ответ придет через 100 лет, но: для дальнейшего использования см. здесь:
http://forum.proxmox.com/threads/5770-Windows-guest-high-context-switch-rate-when-idle
Если это так, то вот решение: http://support.microsoft.com/kb/895980
Это снизило загрузку моего гостевого процессора Win2K3 R2 (когда гость бездействовал) на моем хосте kvm x86_64 с ~30%-40% до 6%.
решение3
Я вообще ничего не знаю о KVM, но в VMware это может произойти, если вы не установите инструменты VMware на виртуальной машине, так что у нее не будет соответствующих драйверов устройств для виртуализированного оборудования и она не сможет перевести свой виртуальный ЦП в режим реального простоя, когда он на самом деле ничего не делает, используя вместо этого простой цикл простоя (который на самом деле соответствует полной занятости ЦП, работающего в цикле сам по себе).
Может быть, вам следует установить на своей виртуальной машине что-то похожее на инструменты VMware?
решение4
Во-первых, перестаньте сравнивать Windows и Linux или ожидать, что они будут вести себя одинаково. Они разные.
Окна - этоникогдапростаивает. Он запускает много фоновых задач, и по моему краткому опыту работы с Win 7 он делает больше, чем, скажем, XP. Одна вещь, которая поможет облегчить нагрузку, — это начать закрывать необходимые службы, такие как служба индексирования.