Does turning off vCPU in Ubuntu 14.04 impact vmware's cpu scheduler?

I have a Ubuntu VMWare VM that was given 6 CPUs, but rarely sees a load above 1. It is running in a vSphere 5.5 cluster.

Nowing that VMWare's CPU scheduler has to clear 6 CPUs for processing this VM, I want to reduce the CPU count and improve performance across the host; however, I'd like to do this without downtime to the 6 CPU VM.

I have run the following commands to disable three of the CPUs without disruption.

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

By disabling these CPUs in the OS kernel, have I actually sent the ESXi host the appropriate signals to require only clearing 3 of its cores to perform action on this server instead of 6?

If this doesn't work, is there another way to do this without downtime on the VM?

0
задан 6 October 2016 в 20:07
1 ответ

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

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

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

.
1
ответ дан 4 December 2019 в 16:28

Теги

Похожие вопросы