У меня есть хост Linux с 4 гостями Linux KVM. Все гости в основном бездействуют, имея нагрузку <0,1 внутри гостя.
Теперь, если я делаю top
на хосте, каждый процесс KVM использует что-то около 30% процессора.
Это нормальное поведение? Я ожидаю, что хост будет нуждаться в гораздо меньшем количестве ресурсов процессора только для того, чтобы разместить гостевого гостя.
Если это нормально, в чем причина?
Если это не нормально, в чем может быть проблема?
performance
cpu
kvm
virtualization
Михась
источник
источник
Ответы:
Будучи циничным, я могу сказать, что это «нормально» для гостей Windows, но не для гостей Linux (по крайней мере, я никогда не видел, чтобы кто-то так себя вел).
В Windows это во многом зависит от запущенных приложений (почти незанятых). Обычная XP или W2K (у меня пока нет опыта работы с более новыми версиями в KVM) вызывает от 10% до 20% на хосте (показывается около 0% внутри), но MS SQL-сервер получает это легко выше 30%. Похоже, это как-то связано с доступом к таймеру и / или ACPI. Но даже в не-ACPI VM у меня никогда не было Windows ниже 10% на хосте.
Редактировать 1 (объединяя комментарии)
Какой вывод
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
(у гостя)? Это должно быть KVM-часы. Проверьте конфигурацию вашего ядра (/proc/config.gz) на наличие CONFIG_PARAVIRT_CLOCK и CONFIG_KVM_CLOCK.Это список параметров конфигурации ядра, относящихся к KVM .
источник
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
?acpi_pm
в гостевой иtsc
на хосте. Нет X, но сервер приложений java и оракул DB работает в каждом госте.kvm-clock
вместо (в гостевой). Мне никогда не приходилось настраивать это явно. Проверьте настройки ядра (/proc/config.gz
) дляCONFIG_PARAVIRT_CLOCK
иCONFIG_KVM_CLOCK
.y
. Установка current_clocksourcekvm-clock
делает вещи лучше. Теперь каждый KVM-процесс составляет около 20 процентов. Система была перенесена в KVM из предыдущей настройки виртуального ящика. Похоже, что некоторые настройки все еще из старой настройки ...Я хотел бы убедиться, что гости KVM подготовлены так, чтобы они могли использовать все ресурсы хоста (ЦП, ОЗУ и т. Д.). Обычно гости KVM распределяются, скажем, по 1-2 ЦП (ядра) в системе, которая может содержать гораздо больше.
Это будет означать, что вы не сравниваете одно и то же, когда смотрите на ресурсы хоста и внутренние ресурсы данного гостя KVM.
Например
Хост имеет следующее:
В то время как один из гостей KVM имеет это:
источник