desabilitando núcleos de cpu no processador quad core no linux

10

Desejo desativar três núcleos de CPU e executar meu processador em um único núcleo. Eu usei o comando: maxcpus=1 . Mas depois disso eu executei este comando ls /sys/devices/system/cpu . Ainda mostra cpu0,cpu1,cpu2,cpu3 .

Eu também tentei: echo 0 > /sys/devices/system/cpu3/online , mas recebo o seguinte erro: no such file or directory .

    
por user3818847 21.07.2014 / 09:17

1 resposta

23

Como Patrick indicou em um comentário , você obteve o caminho em /sys errado.

echo 0 > /sys/devices/system/cpu/cpu3/online

Se você quiser desligar todas as CPUs (exceto cpu0 , que não pode ser desativado):

for x in /sys/devices/system/cpu/cpu*/online; do
  echo 0 >"$x"
done

Digitar maxcpus=1 em um prompt do shell não tem efeito. Mais precisamente, ele define a variável maxcpus para o valor 1 nesse shell, que não tem nenhum outro efeito. Você pode definir o número de CPUs no momento da inicialização passando maxcpus como um parâmetro do kernel . Para isso, você precisa alterar a configuração do gerenciador de inicialização (por exemplo, para alterar a linha de comando do kernel no U-Boot).

    
por 22.07.2014 / 02:01

Tags