
Я застрял на этом.
Чистая установка Ubuntu 12.04 server 64bit на двух физических машинах. Машины идентичны, за исключением того, что у одной 8 ГБ ОЗУ, а у проблемной машины 32 ГБ ОЗУ, обе машины были куплены с идентичными характеристиками в одно и то же время. Ubuntu полностью обновлена 24 часа назад.
Я использую virt-manager через X-windows по туннелю SSH для управления виртуальными машинами, серверная ОС вообще не запускает сеансы X-windows, в отличие от моего настольного компьютера.
Построил и запустил несколько виртуальных машин Ubuntu 12.04 server 64bit, каждая с выделенным 1 ГБ ОЗУ. Все виртуальные машины в основном настроены одинаково (снисходительно относятся к MAC-адресам и т. д.).
Машина 8 ГБ имеет 2xVM, а машина 32 ГБ имеет 3x VM. Все виртуальные машины сообщают о низкой нагрузке (менее 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 ...
решение1
Итак, после долгих расследований я теперь выяснил, что было не так с машинами. Большое спасибо тем, кто помог!
Вот веб-страница, которая оказалась полезной:http://itscblog.tamu.edu/improve-disk-io-performance-in-kvm/
По сути, мои физические хосты имеют диски SATA, а виртуальные машины были настроены с контроллерами SATA и дисками SATA. Я понятия не имел, что это означает, что подсистема виртуализации будет представлять виртуальный SATA, а не SATA pass-through.
Решением было перейти на virtio для дисков. Это означало, что теперь виртуальные машины знали, что они являются частью системы виртуализации, и будут сотрудничать для повышения производительности. (Я думаю, это и есть то, что имеется в виду).
Короче говоря, всегда используйте virtio для дисков и сетей на ваших виртуальных машинах.
Хосты сейчас имеют счастливую и спокойную среднюю нагрузку около 2-3. Гораздо лучше, чем 20-50, которые были раньше.