'isolcpus' parâmetro do kernel não tem efeito no desktop do Ubuntu 16.04

4

Eu adicionei a seguinte linha a /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash isolcpus=1,3"

executou sudo grub-update (e reinicializou) mas, de acordo com top , os processos ainda estão sendo agendados na CPU 1 e 3. O que devo fazer sobre isso?

Coisas que me pediram para adicionar:

nabeel@nabeel-Inspiron-3542:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.4.0-22-generic.efi.signed root=UUID=1e46ca65-843f-439a-8e2a-f5e666a03ffe ro quiet splash isolcpus=1,3 vt.handoff=7

Saída de top :

PID USER      PR S P 
182 root      20 S 0 
183 root       0 S 0 
220 root      20 S 0 
223 root      20 S 0 
253 root      20 S 2 
261 root       0 S 0 
312 root     -51 S 0 
343 root       0 S 3 <-------- Processes being scheduled on CPU 1 and 3
347 root       0 S 1 <--------
373 root       0 S 2 
398 root       0 S 0 
474 root       0 S 2 
478 root      20 S 0 
548 systemd+  20 S 0 
632 avahi     20 S 2 
633 root      20 S 2 
642 root      20 S 0 
    
por nom 10.05.2016 / 15:29

1 resposta

4

Eu acho que esses dois processos são kworker ou outra tarefa do kernel.

Parece que, atualmente, isolcpus= afeta apenas os encadeamentos do espaço do usuário e, portanto, os encadeamentos do kernel aparecerão na CPU isolada.

Na documentação do RHEL (ênfase minha),

3.3.6.2. Isolating CPUs

You can isolate one or more CPUs from the scheduler with the isolcpus boot parameter. This prevents the scheduler from scheduling any user-space threads on this CPU. Once a CPU is isolated, you must manually assign processes to the isolated CPU, either with the CPU affinity system calls or the numactl command.

Alguém tentou corrigir esse comportamento , mas, até onde eu sei, não foi acked.

Em resumo, o Ubuntu não está ignorando a opção, está funcionando conforme o esperado. Quer esteja funcionando como desejado, é uma consulta diferente.

    
por 10.05.2016 / 16:25

Tags