На сервере несколько физических ядер.
Установлен ESX(i), развернуты разные ВМ. Очевидно, у каждой ВМ есть хотя бы один виртуальный процессор.
Обычно всего виртуальных процессоров больше чем всего ядер.
Это означает, что на каждом ядре сервера работают несколько виртуальных процессоров разных ВМ.
Выберем какую-то одну виртуальную машину, а даже вернее — ее ОС. Кроме прочего, она с какой-то частотой генерирует прерывания для отсчета времени, обычно это происходит с частотой 50-100-250-1000 Герц.
Может возникнуть проблема — у этой ОС пришло время выполнить прерывание, а гипервизор решает что прямо сейчас она не получит тики физического ядра — ведь его ресурсы гипервизор должен давать и другим виртуалкам.
Отсюда возникают проблемы убегания времени, и, если timer interrupt происходят часто — потери производительности.
У многих современных Linux частота этих прерываний = 1000 Гц.
Это лишку.
Прикладная иллюстрация:
запустите esxtop или resxtop.
нажмите SHIFT+v, чтобы на экране остались только процессы виртуальных машин
нажмите f, чтобы выбрать столбцы — нас интересует один из них, по умолчанию не отображаемый.
оставьте звездочки только напротив Name и Summary Stats.
Вот именно такая тысяча и является излишней по излагаемой мною тут теории.
Стоит оставить 100.
Как это сделать — kb.vmware.com/kb/1006427/.
Там же вы узнаете, что для Linux синхронизацию времени однозначно лучше делать через NTP, нежели через VMware tools — дело в том, что тулзы не могут синхронизировать убежавшее вперед время. Вернее, могут, но только один раз — при старте системы\suspend\snapshot. Еще полезно почитать — Timekeeping in VMware Virtual Machines.
А правда ли, что VMware на 1 физическое ядро процессора htrjvtyletn 4 VM?
ОтветитьУдалитькак общая рекомендация такая есть, да.
ОтветитьУдалитьоднако не забывайте, что ВМ - это растяжимое понятие.
Когда-то ядра и для одной единственной не хватит, а когда-то они вдесятером нормально работать будут.
Насколько я помню, для Linux вообще можно указать не использовать таймкипер! Опция Тиклесс. Мне кажется это идеальный вариант!
ОтветитьУдалитьхорошая статия Михаил,
ОтветитьУдалитьпо поваду :
А правда ли, что VMware на 1 физическое ядро процессора htrjvtyletn 4 VM, если правилно понял вапрос сколко vCPU рекомдовано на один CPU? длиа ЕСХ4 ето число состабляет 20 а длиа ЕСХ4 Up1 25,
вабше по пободу Linux машин бест практис рекомдует исползиват как Михаил и сказал внешни NTP