Я использую VMware Server 2.0.2 на своем двухъядерном сервере Athlon с 4 ГБ ОЗУ и RAID1 с двумя жесткими дисками SATA по 400 ГБ. На этом сервере одновременно работают три виртуальные машины.
Хост-система - это Debian 5 x64 с последним ядром и всеми установленными обновлениями. Кроме VMware Server он больше ничего не запускает.
Виртуальные машины действительно используют нефиксированные образы жестких дисков. Я использую две виртуальные машины с 768 МБ ОЗУ каждая, третья использует 1,5 ГБ ОЗУ, поэтому для хост-системы должен быть еще ГБ ОЗУ.
На двух виртуальных машинах установлена Ubuntu 9.10 x64, на другой - Debian 5 x64.
Моя проблема - очень плохая производительность. На одной из виртуальных машин я запускаю Apache с mod_rails (Phusion Passenger). Ни одна из виртуальных машин не должна выдерживать очень большую нагрузку. Итак, после некоторого времени ожидания Пассажир засыпает. Повторное пробуждение занимает до 45 (!) Секунд, в течение которых виртуальная машина больше не отвечает из-за нагрузки, возникающей при повторном пробуждении. Измеритель нагрузки в виртуальной машине достигает 10.00, что, на мой взгляд, не может быть нормальным. В (не виртуализированной) тестовой системе я не вижу такого поведения, так что это должен быть сервер VMware, не так ли?
Иногда даже простое SSH-соединение с одной из виртуальных машин создает очень высокую нагрузку до 8.00.
Кто-то сказал мне, что можно направить точное количество мощности процессора и других ресурсов на виртуальные машины, но я действительно не знаю, что искать. К сожалению, Google не сказал и мне.
Любая помощь приветствуется.
Вероятно, это не то, что вы хотите услышать, но ...
Забудьте о VMware Server и установите ESXi. Это бесплатно, и вы гарантированно получите гораздо более высокую производительность по сравнению с VMware Server.
вам следует установить vmware-guest-addons на свой виртуальный хост: в моих настройках этот шаг повысил производительность.
Всегда полезно иметь одну виртуальную машину на одном ядре процессора и одно ядро, оставленное для системы:
например: у вас есть четырехъядерный процессор, вы можете обрабатывать на нем 3 очень эффективных хоста
проблема зависит от чипа: с 3 виртуальными машинами и хостом на одном двухъядерном чипе все виртуальные машины "борются" из-за ресурсов процессора - и в дополнение к этому планировщику процессов требуется много времени на процессор для себя .
современные чипы имеют какую-то многопоточность на каждом ядре, поэтому эта проблема не так уж и сложна
Один (из многих) важных шагов по оптимизации для VMWare: Избегайте использования нефиксированных дисков!
Если у вас есть гость, которая часто записывает (и я думаю, что Apache будет постоянно записывать небольшие объемы для кеширования, журналов и так далее), VMWare необходимо постоянно увеличивать размер диска. Если вы получили это три раза параллельно и используете диски SATA - которые на самом деле не оптимизированы для тяжелых параллельных операций чтения / записи - это очень легко перенесет вашу систему в сверхмедленное движение. Также может случиться так, что гостевые процессы выгружают свою оперативную память при переходе в спящий режим, что также означает много операций записи - и снова увеличение хост-диска ...