У меня есть стандартный (не модифицированный) KVM + libvirtd, установленный на чистой машине Centos 6 с 8 ГБ ОЗУ и 8-ядерным процессором.
Когда я пытаюсь установить гостевой centos 6 с помощью virt-manager, для завершения установки требуется время. Я дал ему 2 ядра и 3 ГБ ОЗУ, и на вкладке производительности я вижу, что он постоянно использует все 3 ГБ ОЗУ.
Где проблема?
У меня была эта проблема с KVM (CentOS EL 6.4), поэтому я провел тест, чтобы узнать, что происходит. Оказалось, что моя гостевая виртуальная машина работала всего на 15% быстрее, чем хост (ОС без операционной системы). Я проверил предварительные требования kvm и подтвердил, что мой процессор Intel имеет VT-x (vmx) [AMD называет это svm].
cat /proc/cpuinfo | grep vmx
Почему тогда низкая производительность ?? Оказывается, мне нужно было включить VT-x в BIOS системы (старая машина примерно 2006 г.). Чтобы убедиться, что это была проблема, я проверил, есть ли модуль ядра kvm_intel
бегал:
lsmod | grep kvm
Оказывается, он не работал с kvm_intel
. Когда я установил свою виртуальную машину, libvirt определил domain type
так как qemu
. Но это должен быть тип kvm
. Вы можете проверить:
virsh edit your_vm_guest_domain
... проверьте строчку вверху ...
<domain type='qemu'>
Это libvirt сообщила мне, что не обнаружила kvm_intel
присутствие в моей системе и по умолчанию используется обычная эмуляция qemu.
Когда я включил VT-x в BIOS, я обнаружил, что могу загрузить kvm_intel
модуль, а затем изменил <domain type='kvm'>
. Я снова выполнил тот же тест и не обнаружил практически никакой разницы в скорости между гостевой виртуальной машиной и хост-ОС.
По умолчанию режим дискового кэша - это сквозная запись, что очень медленно. Переключите диски на обратная запись режим, и вы получите очень значительный прирост производительности ввода-вывода.
Прежде чем кто-то будет жаловаться на это: с относительно недавними (CentOS 6+) версиями libvirt / qemu / kvm, диски обратной записи безопасны если гостевая ОС не поддерживает / не активирует барьеры записи (которые поддерживаются и активируются любой недавней гостевой ОС, о которой я думаю).