Я запускаю VMWare Server 2.0 на компьютере Debian Lenny с двумя ядрами Opteron. Мне интересно, есть ли способ вручную настроить сродство процессора, чтобы виртуальные машины 1 и 2 запускались с одного процессора, а виртуальная машина № 3 запускалась с другого процессора?
Я понимаю, что это не функция из коробки, но может быть взлом командной строки, который может привести меня туда, где я хочу быть :).
Вы можете установить сродство постфактум, используя taskset
. Я лично использовал бы сценарий, который устанавливает приоритеты или устанавливает соответствие ЦП VMWare. vmware-vmx
процессы. Бросьте его в cron ежечасно или запустите один раз. Например, типичный VMWare Server 2.0 ps aux
вывод выглядит так:
[root@xxxx ~]# ps auxwww| grep vmx
root 30372 24.9 1.1 2026132 137092 ? S<sl 2010 25896:06 /usr/lib/vmware/bin/vmware-vmx -# product=2;name=VMware Server;version=2.0.2;buildnumber=203138;licensename=VMware GSX Server for Linux;licenseversion=3.0 build-203138; -@ pipe=/tmp/vmhsdaemon-0/vmxd6074b323529c88a;readyEvent=40 /vmware/xxxx_Web/xxxx_Web.vmx
Чтобы установить это на ядро ЦП 2, я бы использовал что-то вроде:
#!/bin/bash
# Set CPU affinity for vmware-vmx processes to CPU core 2
for i in `pgrep -f vmware-vmx | xargs`; do taskset -c -p 1 $i; done
Или вы можете запустить вручную taskset
на соответствующем PID (ах).