Прикрепите виртуальный ящик к ядру (ям) на точном ящере (12.04)
Я пытаюсь прикрепить VirtualBox к нескольким ядрам с набором задач следующим образом:
/usr/bin/taskset -c 1-3 VirtualBox &; disown
Но набор задач не имеет никакого эффекта. Я проверил, что набор задач работает с процессами, отличными от VirtualBox (поэтому я знаю, что правильно настроил isolcpus). Я верю, что происходит то, что VirtualBox - это только внешний интерфейс, и когда я выбираю виртуальную машину, я на самом деле хочу, чтобы она как-то запускала ее так, чтобы закрепление ядра не было унаследовано.
Как я могу заставить фактический экземпляр VM подчиняться закреплению?
1 ответ
Вы правы. VirtualBox - это не единственный процесс, который нужно сдерживать, но это больше, чем просто интерфейс.
Краткий ответ: Попробуйте связать VBoxSVC.
Длинный ответ:
Вам, вероятно, следует использовать top (или лучше htop) на вашем компьютере, чтобы найти компонент, который выполняет работу в вашей ситуации, Virtualbox охватывает как минимум два фоновых процесса VBoxSVC, которые по крайней мере на моем компьютере выглядят как основной пользователь ЦП, и VBoxXPCOMIPCD, который выглядит как какой-то коммуникационный сервер.
Обратите внимание, что только один из каждого процесса порождается для каждого пользователя, даже если один пользователь запускает несколько виртуальных машин. Я не знаю, будут ли привязывать только их для ваших собственных нужд.
Для получения дополнительной информации в этой статье есть множество информации о том, как работает VirtualBox.