Я застрял с этим.
Чистая установка сервера Ubuntu 12.04 64bit на двух физических машинах. Машины идентичны, за исключением того, что одна имеет 8 ГБ ОЗУ, а проблемная машина - 32 ГБ. Обе машины были приобретены с идентичными характеристиками одновременно. Ubuntu полностью обновлен 24 часа назад.
Я использую virt-manager через X-windows по туннелю SSH для управления виртуальными машинами, серверная ОС вообще не запускает сеансы X-windows, мой рабочий стол делает.
Создал и запустил несколько серверных 64-битных виртуальных машин Ubuntu 12.04, каждая с выделенной оперативной памятью 1 ГБ. Все виртуальные машины в основном настроены одинаково (разрешающие MAC-адреса и т. Д.).
Машина 8 ГБ имеет 2 виртуальных машины, а машина 32 ГБ - 3 виртуальные машины. Все виртуальные машины сообщают о низкой нагрузке (менее 0,5, обычно 0,01) и совсем не загружены.
Хост-сервер объемом 8 ГБ сообщает о нагрузке менее 0,1, обычно 0,01. Хост-сервер 32 ГБ сообщает о постоянной нагрузке более 10,0. Опять же, все виртуальные машины сообщают о внутренней нагрузке менее 0,5. ЦП наверху 95% + простаивает, 0,0% ожидания.
Идеи о том, почему машина 32 ГБ имеет высокую нагрузку (когда хост простаивает, а гости простаивают), в то время как машина с идентично настроенной 8 ГБ сообщает об ожидаемой низкой нагрузке?
Нагрузка на 32 ГБ увеличивается при запуске одной виртуальной машины, запуск 3xVM не увеличивает нагрузку. Остановка всех виртуальных машин приводит к падению нагрузки на 32 ГБ.
Я не могу понять этого. Я ожидаю, что загрузка 32 ГБ будет соответствовать загрузке 8 ГБ.
ОБНОВЛЕНИЕ # 1: Натан С.
top - 16:19:54 up 8 days, 6:01, 1 user, load average: 14.33, 18.23, 18.07
Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.5%us, 0.4%sy, 0.0%ni, 98.9%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st
Mem: 32938864k total, 29307380k used, 3631484k free, 331324k buffers
Swap: 4182436k total, 0k used, 4182436k free, 25330400k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
8752 libvirt- 20 0 3170m 747m 6932 S 7 2.3 26:27.20 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name r -uuid ...
8720 libvirt- 20 0 3969m 928m 6936 S 3 2.9 76:17.66 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name m -uuid ...
8687 libvirt- 20 0 3315m 1.0g 6936 S 2 3.3 60:33.03 /usr/bin/kvm -S -M pc-1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name d -uuid ...
Итак, после долгого расследования я обнаружил, что не так с машинами. Огромное спасибо тем, кто помогал!
Полезная веб-страница находится здесь: http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/
В основном, мои физические хосты имеют диски SATA, а виртуальные машины были настроены с контроллерами SATA и дисками SATA. Я понятия не имел, что это означает, что подсистема виртуализации будет предоставлять виртуальный SATA, а не сквозной SATA.
Решением было перейти на virtio для дисков. Это означало, что виртуальные машины теперь знали, что они являются частью системы виртуализации, и будут взаимодействовать для повышения производительности. (Я думаю, что это значит).
Короче говоря, всегда используйте virtio для дисков и сетей на своих виртуальных машинах.
Хосты теперь имеют счастливую и крутую среднюю нагрузку около 2-3. Намного лучше, чем 20-50, что было раньше.