Como desativar o segundo núcleo da CPU quando o Lubuntu inicia pelo pendrive?

Eu quero instalar Lubuntu em um netbook Acer Aspire One D255E, mas tem um problema que não sei o que pode ser, e não consigo resolver, então a única coisa que posso fazer é fazer o netbook funcionar desviando do problema.

O netbook originalmente usa Windows 7, e por algum motivo quando o Windows começa a iniciar, o netbook renicia do nada, e fica num loop infinito. Porém, se eu for no modo de segurança, o Windows inicia normalmente, e vou no gerenciador de dispositivos, e lá vai ter a aba “Processadores”, que vai ter 2 opções (isso porquê a CPU tem 2 núcleos, por isso que tem 2 opções aí), eu clico com botão direito na primeira opção e clico em desativar, daí eu renicio o netbook, e o Windows vai conseguir inicializar sem ser no modo de segurança e sem nenhum problema. Essa foi a única solução que achei pra poder desviar do problema.

Porém, esse problema acontece até mesmo com distros Linux e ISOs do Windows que são inicializados do pendrive, e pra poder instalar o Lubuntu, eu precisei achar um jeito de desativar esse segundo núcleo para que o Lubuntu consiga inicializar sem problemas.

Quando inicializo o Lubuntu pelo pendrive, o menu do GRUB aparece normalmente, e então, eu seleciono “Experimentar o Lubuntu sem instalar”, a tela fica preta por alguns segundos e depois renicia.

Porém, eu achei uma forma de conseguir inicializar. Eu usei o parâmetro maxcpus=1 que vai inicializar o Lubuntu limitando apenas ao primeiro núcleo, e isso teoricamente funcionou, o Lubuntu conseguiu de fato inicializar, porém… Depois de 1 minuto de uso, o netbook renicia denovo. Provavelmente o Lubuntu acabou carregando de alguma forma o segundo núcleo novamente. E isso foi testado na versão 16.04.
Depois eu tentei com a 18.04. A mesma coisa aconteceu, só que o Lubuntu demorou uns 5 segundos depois da inicialização pra acabar reniciando novamente.

Bem, o que preciso saber é uma forma do Lubuntu inicializar no netbook sem acabar reniciando pra eu conseguir de fato instalar o Lubuntu no netbook, ou seja, ficar apenas usando o primeiro núcleo, pois se ele carregar e detectar o segundo núcleo o netbook vai acabar reniciando. Não sei porquê isso acontece, mas só posso desviar do problema dessa forma. Eu usei aquele parâmetro ali, mas não funcionou 100%.

Outros parâmetros que você pode testar é o nr_cpus e o possible_cpus.

O maxcpus pode (e vai, no caso do Lubuntu) ser desfeito por programas que iniciam depois do núcleo Linux, mas eles, não.

1 curtida

já testei esses parâmetros também e não funcionou, eu só não citei eles no texto pq eu não tava conseguindo lembrar do nome. Talvez eu tenha que testar todos os parâmetros, ou alguma combinação de parâmetros pra rodar ao mesmo tempo?

É.
O parâmetro mais correto é o nr_cpus mesmo.

Agora, precisa saber qual núcleo está dando problema. Um teste que você poderia fazer seria isolar uma cpu por vez. Existe o parâmetro isolcpus que permite que você faça isso. Os núcleos são numerado a partir de 0. Se você acha que o segundo núcleo está com problema, você poderia tentar com os seguintes parâmetros.

nr_cpus=1 isolcpus=1

Fica um bocado redundante, mas talvez funcione. É provável que isso garanta que apenas o primeiro núcleo seja ativado.

Se bootar, você pode checar com

grep processor /proc/cpuinfo

1 curtida

E bateu uma curiosidade danada de saber o que aconteceria se você utilizasse

nr_cpus=1 isolcpus=0

É desejável que você, enquanto está apenas testando, não altere diretamente o arquivo de configuração do grub.

Dá pra alterar esses parâmetros durante o boot com a vantagem de que sua configuração original fica resguardada.

O cpu 0 é o principal. Dependendo da arquitetura, ele pode ser o único a receber as interrupções. Também é ele que cuida do processo de suspensão, hibernação e inicialização dos outros núcleos (a inicialização é controlada pela BIOS, por isso não tem o que fazer a nível de S.O.)

Ou seja, dependendo da arquitetura pode acontecer:
CPU 0 não poder ser desabilitada
CPU 0 ser desabilitada e dar problema na suspensão
CPU 0 ser desabilitada e não dar problema nenhum (acho extremamente difícil disso acontecer)

1 curtida

tentei aqui com as 2 combinações de parâmetros que você deu, mas acabou reniciando do mesmo jeito, não adiantou.

e como eu disse no texto, eu testei com a versão 18.04 e bootou o sistema porém só conseguiu rodar por 5 segundos. Eu estou com a versão 18.04 instalada no pendrive apenas, e por causa disso, 5 segundos infelizmente não é tempo suficiente pra abrir o terminal e digitar o comando que você deu também. Talvez eu deva tentar novamente com a versão 16.04, que consegue rodar o sistema normalmente por 1 minuto?

Aliás, por algum motivo se eu deixar o netbook fora da tomada por muito tempo a configuração da BIOS acaba resetando.

Talvez usando…

nr_cpus=1 nosmt

Ou mesmo

smt=1

Você sabe qual é a cpu do teu netbook ?

Não é o OS isso é parâmetro do kernel Linux o kernel bate papo de frente com o hardware sem intermediário.

tentei os 2 parâmetros, o primeiro acabou reniciando do mesmo jeito de antes, e o segundo o OS nem sequer bootou.

A CPU é Intel Atom CPU N450 1.66Ghz

No Windows 7, apareceram dois processadores. Qual deles você desabilitou, o primeiro ou o segundo ?

Pelo que entendi, foi o primeiro. É isso mesmo ?

Se der pra mandar a imagem da tela, melhor ainda. Mas se não der, tudo bem.

sim, eu desativei o primeiro.
portanto, eu não testei se faz alguma diferença se eu desativar o segundo e deixar o primeiro ativo.

aqui está uma foto:

Ok.
Não vejo uma forma de fazer isso com uma simples alteração nas options de boot.
Mas a gente pode tentar alguma coisa.

  1. Vê se você cai em um prompt pedindo para dar <enter> usando os seguintes parâmetros.

cpu0_hotplug isolcpus=0 systemd.unit=rescue.target

  1. Se conseguir, dê o <enter> e execute

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

  1. Aí, só pra conferir se a cpu 0 está mesmo Off-line

lscpu | grep CPU

  1. Se chegou até aqui, ótimo. Só falta

exit

O sistema deve prosseguir normal para o modo gráfico.

Tomara que funcione !!!

o sistema não inicializou com os parâmetros, eu tive que colocar nr_cpus=1 só pra conseguir inicializar, e também já tentei colocar um 1 invés do 0 no isolcpus, mas não funcionou, só funcionou com o nr_cpus=1.

eu executei o segundo comando, e apareceu:

bash: echo: erro de escrita: Dispositivo ou recurso está ocupado

depois, eu executei o terceiro (que é o lscpu), e apareceu que tem apenas 1 Núcleo(s) por soquete, e 0 CPU(s) online.

e então, executei o grep CPU, daí eu acho que o sistema simplesmente travou, não consegui executar mais nenhum comando. Ou provavelmente o processo do grep CPU deve demorar bastante, não sei.

aqui está uma foto pra deixar mais claro:

Só dar ctrl-c nessa tela

Vou olhar as informações aqui

Como ficou a linha com os parâmetros pro kernel ?

Eu entendi que você usou o nr_cpus=1

Foi só esse parâmetro ?

eu coloquei exatamente assim:

cpu0_hotplug isolcpus=0 systemd.unit=rescue.target nr_cpus=1

dá um

cat /sys/devices/system/cpu/cpu0/online

por favor.

Ou melhor

ls /sys/devices/system/cpu

Vé se aparece

cpu0
cpu1
outros arquivos.

executei o primeiro comando, e só apareceu o número 1.
enquanto ao segundo comando, apareceu o seguinte:

cpu0 cpuidle isolated microcode offline possible present uevent
cpufreq hotplug kernel_max modalias online power smt vulnerabilities