У меня есть хост CentOS 6 для нескольких виртуальных машин KVM с FreeBSD в качестве гостя.
Я хочу привязать каждую виртуальную машину к использованию не более одного ядра одновременно. Что бы вы посоветовали использовать, Cgroups или Tasksets?
Я думаю, что cgroups - это предпочтительный метод с EL6 сейчас, особенно с виртуализацией. Набор задач лучше всего подходит для отдельных процессов, но контрольные группы ближе к понятию экранирования / контейнеров.
Для привязки Vms к набору задач CPU - правильный подход. cgroups предназначены для более тонкого управления ресурсами, работая с долями использования ЦП. И, конечно же, @rubiojr уже упоминал собственный способ libvirt для закрепления процессоров vCPU.
Если вы используете libvirt, вы можете использовать:
<domain>
...
<vcpu placement='static' cpuset="1" current="1">2</vcpu>
...
</domain>
в определении XML домена. Некоторые интересные места с актуальной информацией:
http://libvirt.org/formatdomain.html