Итак, у нас есть несколько виртуальных машин, работающих на сервере ESX 4.1 для тестирования продукта. Сервер ESX иногда находится под большой нагрузкой. В некоторых случаях использования мы сталкивались с высокими уровнями загрузки ЦП, но мы не всегда можем повторить это. Если сервер ESX в целом находится под большой нагрузкой, может ли это вызвать высокую загрузку ЦП гостевыми машинами?
Другими словами, если гостевым машинам требуется больше ресурсов процессора, чем у сервера, как это повлияет на использование ЦП, указанное ОС и процессом?
Одним из канонических источников советов по производительности ESX является Руководство по устранению неполадок производительности! (PDF)
Вкратце: если ваш хост занят, а ваши виртуальные машины сообщают о высоком «времени готовности» (что является счетчиком того, когда виртуальная машина готова к выполнению работы, но не может быть обнаружен физический процессор для машины, которая должна быть запланирована гипервизор), то симптомы, которые вы испытываете, заключаются не в высокой загрузке ЦП в гостевой системе, а в том, что отдельные виртуальные машины не получают достаточно физического процессорного времени для обслуживания своей рабочей нагрузки. Это может проявляться в гостевой системе как высокая загрузка ЦП, но это всего лишь бухгалтерская ошибка, которую совершает гость, потому что она не знает о самой виртуализации.
Поэтому проверьте время готовности и, если оно действительно велико, найдите способ либо добавить больше физического процессора на ваш компьютер / кластер, либо уменьшить его использование.
Мониторинг ЦП в гостевом режиме может привести к искажениям, когда машина простаивает, а также когда она занята. В одном сценарии процесс простоя не планируется гипервизором. С другой стороны, интенсивное использование на многих машинах приведет к тому, что на некоторых машинах будет не хватать ЦП, и, следовательно, мониторинг на уровне гостя не следует использовать без дополнительного мониторинга на уровне гипервизора.
Мониторинг ЦП в гостевой системе - плохая идея, по сути, для любого гостя практически невозможно узнать, сколько процессорного времени он занимает на любом гипервизоре - единственный реальный способ узнать это - посмотреть снаружи через гипервизор. Так что да, очень загруженный гипервизор может легко сделать статистику использования ЦП в гостевой системе за пределами базовой, да - просто все равно не доверяйте этим цифрам.