Parâmetro do kernel isolcpus parece não ter efeito no Ubuntu Server com NUMA

3

Eu uso o parâmetro do kernel do isolcpus para restringir as CPUs que o planejador do Linux deve usar para colocar processos.

cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-4.2.0-18-generic.efi.signed root=UUID=78e5b46f-6c1c-4e8f-b921-8c091c98209b ro isolcpus=4−23,28−47

Pelo que eu li, isso deve colocar todos os processos onde não especificados explicitamente pelo cpuset ou similares nos processadores que não estão na lista do isolcpus.

No entanto, os processos executados em CPUs arbitrárias, as CPUs supostamente isoladas ainda são usadas. Aqui está uma parte se a saída de ps -F ax:

UID        PID  PPID  C    SZ   RSS PSR STIME TTY      STAT   TIME CMD
message+  1185     1  0 10712  3804  11 20:36 ?        Ss     0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root      1208     1  0  4411  5364  20 20:36 ?        S<L    0:00 /usr/bin/atop -a -w /var/log/atop/atop_20151114 600
root      1214     1  0  7135  3008   2 20:36 ?        Ss     0:00 /lib/systemd/systemd-logind
daemon    1221     1  0  4795  1912  42 20:36 ?        Ss     0:00 /usr/sbin/atd -f

Como você pode ver na coluna PSR, as CPUs 11,20 e 42 são usadas, o que não deve ser o caso.

Já experimentei as seguintes versões do Ubuntu com o resultado descrito acima em todos os casos:

  • Ubuntu 14.04 Server
  • Ubuntu 15.04 Server, com o kernel do Ubuntu 3.19, bem como o kernel principal
  • Servidor do Ubuntu 15.10

Alguma idéia do que pode ser o problema?

Atualizar

O Isolcpus funciona ao executar o Ubuntu em uma VM sem o NUMA (Core i7). No entanto, ainda não funciona em um servidor com NUMA (2x Xeon E3 v3 2690).

    
por jgjl 14.11.2015 / 20:53

0 respostas

Tags