Ресурсы процессора на виртуальной машине утилизируются не в полном объеме
Описание проблемы
Может возникнуть ситуация, когда ресурсы процессора на виртуальной машине утилизируются не в полном объеме.
Для наглядности описанной выше проблемы ниже представлен пример (см.скриншот), на котором мы можем наблюдать утилизацию процессора операционной системой, возникающие задержки в работе самой операционной системе и приложениях, которые выполняются непосредственно в операционной системе.
Стоить обратить внимание на показатель очереди использования CPU (CPU Ready), который со временем начинает увеличиваться.
Пример повышенного использования процессора
Почему возникает проблема?
Проблемы с утилизацией процессора могут быть связаны с неправильными настройками выделения процессора на виртуальную машину для работы NUMA технологии (последнее утратило силу в ESXi 8 и более поздних версиях).
Проверка утилизации процессора
Для диагностики и подтверждения проблемы полной утилизации процессора виртуальной машиной необходимо обратиться в техническую поддержку провайдера, чтобы сотрудники технической поддержки провайдера провели проверку графиков утилизации процессора виртуальной машиной в Cloud Director. (см. Как открыть новый тикет)
Если проблема имеет место быть, то после получения данных об утилизации процессора виртуальной машиной сотрудниками технической поддержки провайдера проблема будет скорее всего подтверждена.
Варианты решения проблемы
Распределение ядер процессора
Конфигурация ядер процессора должна быть распределена между двумя процессорами.
Базовая частота процессора для виртуального ЦОД
Виртуальные дата-центры создаются по шаблону, в котором данный показатель прописан статично, поэтому вариант ошибки можно исключить, но не будет лишним попросить техническую поддержку провайдера дополнительно проверить данную информацию (см. Как открыть новый тикет)
CPU Limit на виртуальной машине после переноса виртуальной машины от другого провайдера
Чаще всего проблема может наблюдаться после переноса виртуальной машины от другого провайдера. Скорее всего, как основная причина, будет отличаться базовая частота процессора, которая была прежде. Данная настройка хранится в конфигурации виртуальной машины.
Для наглядности рассмотрим пример.
За основу берем виртуальную машину с 8 ядрами на кластере с базовой частотой процессора 2,6ГГц. Если перемножить тактовую частоту процессора на количество ядер, то в сумме мы должны получить 20,8ГГц для виртуальной машины. Но нужно посмотреть на фактические данные виртуальной машины в Advanced меню из панели администратора Cloud Director.
Меню Advanced доступно только для специалистов технической поддержки провайдера. Необходимую информацию можно запросить через службу технической поддержки провайдера.
(см. Как открыть новый тикет)Как мы можем наблюдать, то виртуальная машина имеет установленный лимит в 8ГГц, что не дает виртуальной машине задействовать все выделенные виртуальной машине ресурсы в количестве 20,8ГГц в полном объеме. Такое возможно, если у виртуальной машины ранее не был изменён параметр vCPU Speed на верный, когда виртуальная машина располагалась у другого провайдера.
Стоит отметить, что при переносе виртуальной машины к новому провайдеру, этот параметр автоматически не меняется. Параметр vCPU Speed необходимо изменить хотя бы раз, чтобы конфигурация обновилась под новые значения.
При изменении параметра vCPU Speed, нужно выставить правильные настройки для распределения ядер между процессорами (см. скриншот)
После сохранения изменений в панели администратора Cloud Director можно увидеть, что конфигурация CPU Limit приняла верные значения.
Меню Advanced доступно только для специалистов технической поддержки провайдера. Необходимую информацию можно запросить через службу технической поддержки провайдера.
(см. Как открыть новый тикет)Для проверки решения проблемы нужно запустить виртуальную машину, запустить стресс-тесты, и проверить текущие значения.
Дополнительно необходимо запросить у службы технической поддержки провайдера проверку графиков виртуальной машины в Cloud Director (см. Как открыть новый тикет)
Если обратиться к скриншоту, то мы можем наблюдать, что проблема была решена и ресурсы процессора утилизируются виртуальной машиной в полном объеме.