Я публикую это здесь, потому что то, что я нашел по этой теме, устарело, неполно или не подходит по разным причинам.
Я давно хотел узнать, как сопоставить определенные vCPU с конкретной виртуальной машиной (которая требует максимально возможной производительности процессора и менее возможных переключений блокировки / контекста процессора), в то время как на том же узле есть другие виртуальные машины, которые не могут получить доступ к закрепленным ядрам (они должны быть доступны только для конкретной виртуальной машины), и чье распределение ЦП выполняется планировщиком как «по умолчанию».
Моя текущая система выбора - Proxmox (только с использованием KVM), обычно последняя версия в ветке pvetest и последнее ядро 3.X.
Для моих конкретных потребностей, вместо того, чтобы изучать, как это сделать в моей текущей системе, я бы подумал о переключении на другие системы или даже гипервизоры, которые позволяют расширенное управление распределением ЦП для виртуальных машин. Мой бюджет на платные решения близок к нулю, не исключая их всех с самого начала, но они должны быть очень дешевыми.
Заранее большое спасибо и надеюсь, что (многие возможные) ответы на этот вопрос будут полезны многим другим людям.
Эта функция может быть полезна для пользователей / администраторов хостов виртуализации (по какой-либо причине, в моем случае из-за того, что я использую разные операционные системы), где большинству виртуальных машин требуется низкое время ЦП, но есть одна (или несколько), требующая высокого времени ЦП.
Кажется, у proxmox уже есть несколько подобных опций.
https://forum.proxmox.com/threads/numa-config-option.21313/
Да, он будет использовать привязку ЦП (привязку). Насколько я понимаю, включение NUMA изменит алгоритм планирования таким образом, что теперь он знает об узлах NUMA на базовом физическом процессоре. Таким образом, по возможности будет пытаться сохранить планирование vCPU в пределах одного узла NUMA.