Назад | Перейти на главную страницу

Влияет ли отключение vCPU в Ubuntu 14.04 на планировщик cpu vmware?

У меня есть виртуальная машина Ubuntu VMWare, которой было выделено 6 процессоров, но редко наблюдается нагрузка выше 1. Она работает в кластере vSphere 5.5.

Теперь, когда планировщик ЦП VMWare должен очистить 6 ЦП для обработки этой ВМ, я хочу уменьшить количество ЦП и повысить производительность на узле; однако я бы хотел сделать это без простоев виртуальной машины с 6 процессорами.

Я выполнил следующие команды, чтобы отключить три процессора без прерывания работы.

echo 0 | sudo tee /sys/devices/system/cpu/cpu5/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu4/online
echo 0 | sudo tee /sys/devices/system/cpu/cpu3/online

Отключив эти процессоры в ядре ОС, действительно ли я отправил хосту ESXi соответствующие сигналы, требующие очистки только 3 его ядер для выполнения действий на этом сервере вместо 6?

Если это не сработает, есть ли другой способ сделать это без простоя виртуальной машины?

Это не отправляет ничего ниже вашего ядра никаких сигналов. Что он делает, так это ограничивает ваш планировщик от создания новых процессов на этих ядрах и освобождает эти ядра от существующих процессов.

Это позволит вам безопасно подключать их к сети, - в вашем случае - уменьшив количество ядер до трех. Эффект будет мгновенным, хотя вы может получите очень небольшое время, в течение которого ваша система зависает (менее нескольких миллисекунд).

Чтобы это работало, для вашей виртуальной машины необходимо включить горячее подключение vCPU. Включение этого также отключит vNUMA, технологию оптимизации пропускной способности памяти, которая может помочь вам в ситуациях с высокой нагрузкой - хотя это не похоже на вашу ситуацию.