Parâmetros do Kernel Linux

Erro de ACPI? Problema de controle de bateria? Falha no controle do brilho da tela do seu notebook? Tudo isso é gerenciado pelos parâmetros do kernel que vamos falar hoje!


| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.


Introdução

O Kernel Linux tem um sistema autônomo de gerenciamento de hardware para que o usuário quase nunca necessite configurar nada manualmente. Mas tem casos que isso é uma inverdade e, sendo um núcleo muito livre, muito maleável, você pode deixá-lo exatamente como você precisa.

Aqui está a listagem oficial de todos os parâmetros que o kernel Linux suporta. E aqui, trago os principais, traduzidos e explicados, que podem otimizar seu computador.

Parâmetros

A lista completa de parâmetros é enorme! Acredite, dá pra mexer em TUDO. Mas vou focar nos fundamentais para o dia a dia dos usuários de todo tipo, classificando-os por característica e o que corrigem.

ACPI

O ACPI é a sigla para Advanced Configuration and Power Interface (ACPI), um padrão internacional de controlador dos notebooks, sendo o responsável por gerenciar a bateria, brilho de tela, luz de teclados retroiluminados (quando presentes) e até ajuste de volume nos atalhos do teclado. É tudo em 1. Curiosamente por conta do hardware tipicamente proprietário, controle ACPI é um problema recorrente em muitos notebooks com linux,  principalmente com +3 anos de uso.

Aqui, trago os parâmetros que vão ajudá-lo a resolver seus problemas.

acpi=on
Usado quando o método ACPI está desligado por padrão.

acpi=off
Usado quando o método ACPI está ligado por padrão – Ideal para procurar os problemas. Ao desativar, os problemas devem desaparecer mas outros vão surgir. Se for o segundo caso, temos mais parâmetros ACPI:

acpi=noirq
Usado para desativar parcialmente o ACPI, mais precisamente a rotina IRQ que alguns notebooks utilizam. Esse costuma resolver os problemas em 75% dos notebooks, enquanto ACPI não causa problemas, o mal reside no IRQ, que é quando o sistema opera sob InputRequests.

acpi=strict
Usado em plataformas que possuem algum nível de incompatibilidade com o padrão ACPI e usam algum padrão próprio. – *cof cof* hardware chines.

acpi_backlight=vendor
Usado para quando você quer que o fabricante gerencie o controle de luz de fundo da tela e suas respectivas teclas de controle. Por exemplo, notebook é um Samsung? O kernel vai tentar usar os drivers da Samsung.

Se o driver acpi_backlight=vendor estiver indisponível, entra o video:

acpi_backlight=video
Usará o driver genérico opensource nativo do kernel Linux para fazer o gerenciamento. Costuma ser o método padrão e problemático por não abranger todos os recursos, por exemplo, controlar a luz do teclado retroiluminado em notebooks Samsung Odyssey.

acpi_force_32bit_fadt_addr
Alguns desenvolvedores de firmware quebraram os endereços de 64 bits para usar os antigos legados de 32 bits. Em notebooks antigos pode ser uma solução para problemas.

acpi_irq_balance
ACPI equilibrará os IRQs ativos padrão no modo APIC

acpi_irq_nobalance
ACPI não moverá IRQs ativos (padrão) padrão no modo PIC

Para mais opções, consulte aqui!

Lembrando que, cada caso é um caso e você terá que tentar 1 a 1 por tentativa e erro até resolver. Ciente também, que ACPI é assim: Você pode conseguir resolver uma coisa, “estragando” outra. Atento, teste tudo para garantir.

Mitigações da Intel

pti=off
Tabela de Páginas de Controle de Isolamento do usuário e espaços de endereço do kernel. Desativando este recurso você diminui a segurança, mas melhora o desempenho geral do sistema, das chamadas do sistema e interrupções.

spectre_v1=off
Mitigação de controle da variante 1 do Specter (vulnerabilidade de especulação indireta). A operação padrão protege o kernel de ataques ao espaço do usuário.

spectre_v2=off
Mitigação de controle da variante 2 do Specter (vulnerabilidade de especulação indireta). A operação padrão protege o kernel de ataques ao espaço do usuário.

l1tf=off
Mitigação de controle da vulnerabilidade L1TF em CPUs Intel afetadas. Serve para proteger o sistema no nível de controle do hypervisor.

nospec_store_bypass_disable
Desabilita todas as mitigações das falhas da Intel que englobam Speculative Store Bypass. É parte da falha Meltdown, diferente da Spectre.

pr_spec_disable_noexec
Desabilita o início de processos filhos com a Mitigação Spectre V4 habilitada.

Mais detalhes podem ser lidos aqui!

Controle de CPU

nr_cpus=X
Define a quantidade de processadores que o computador suporte. Você pode definir como 15, por exemplo, e depois do sistema iniciado você pode adicionar os processadores manualmente 1 a 1 até atingir o valor definido. Isso é possível porque o parâmetro reserva memória de processamento na RAM, coisa que não acontece normalmente. Se não tiver o parâmetro, o sistema não vai iniciar outras CPUs adicionadas depois de iniciado.

cpuidle.governor=NOME_DO_GOVERNADOR
Define o governador de CPU. Falamos sobre os governadores nesta publicação!

powersave=off
Desativa todo o subsistema de economia de energia do sistema. Na prática, mesmo em Idle, a CPU não “descansa”, apenas faz o kernel mudar as prioridades dos processos. Em tese esse parâmetro é perfeito pra máquinas gabinete, pois trará desempenho máximo. Não recomendado para notebooks.

cpuidle.off=1
Desabilita o subsistema de CPU IDLE, ou seja, a CPU não “descansa”. Complementa o comando anterior.

Controle de GPU

Gamers do Linux conhecem bem os parâmetros de Grub, mas vou reforça-los para não ter dúvidas!

Nvidia

nouveau.modeset=0
Desabilita o driver opensource Nouveau e força o uso do driver proprietário SE E SOMENTE SE ele estiver presente e instalado. Para habilitar, mude 0 para 1.

nvidia.modeset=0 nvidia_uvm.modeset=0 nvidia_drm.modeset=0 nvidia_modeset.modeset=0
Todos eles são para desativar os drivers proprietários da Nvidia.
Para reativar, mude 0 para 1 ou apenas remova; A ausencia dos parâmetros força o uso do driver proprietário se o parâmetro nouveau.modeset=0 estiver presente e definido com 0.

AMD

radeon.modeset=0
Desativa o uso do driver aberto Radeon

amdgpu.modeset=1
Força o uso do driver proprietário AMDGPU.

Altere de zero para 1 ou de 1 para zero se achar conveniente.

Outros

forcepae
Esse parâmetro é para quem instalou um sistema x32 em um hardware x64. Ou seja, você tem 8 GB de RAM mas só vai usar 4 Gb por conta de ser x32. O PAE habilita o suporte a +4GB de RAM por sistemas x32!
ATENÇÃO: Esse parâmetro, caso seu sistema linux x32 ja não tenha o PAE habilitado por padrão, poderá causar erros desconhecidos no sistema.

Passthrough de GPU em Sistema Híbrido

Eu já havia abordado isso nesta publicação, ficará aqui apenas de lembrete. Esses parâmetros ativam o módulo iommu, que é parte da dependência para fazer passthrough de GPU de um sistema hospedeiro para um sistema hóspede em máquina virtual com QEMU e KVM.

amd_iommu
Ativa o iommu em sistemas com CPU AMD

intel_iommu
Ativa o iommu em sistemas com CPU Intel

Aplicando

Para ativar esses parâmetros, você NÃO precisa compilar nada.

Os parâmetros são definidos no grub de forma bastante simples:
Você apenas edita o grub, com seu editor de textos de confiança, especificamente no diretório o arquivo grub do diretório /etc/default. Ou seja, se poe ventura você quiser editar com o Gedit, pelo terminal por exemplo, seria:

$ sudo gedit /etc/default/grub

Uma vez la dentro, procure a linha:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash

Após Quiet Splash, dê um espaço e adicione o parâmetro ali. Por exemplo, se for o pti=off, que logo mais falarei a respeito, você adiciona, ficando assim:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pti=off"

Salve, feche.

E execute isto no terminal:

$ sudo update-grub2

Assim seu grub será atualizado e validado para todo o sistema, com as mudanças entrando em vigor após o reinicio do sistema.

Nada Deu Certo?

Vamos supor que você mexeu nesse monte de parâmetros e seu computador continua com problemas ou ficou pior. Aí entra a possibilidade de trocar a versão do kernel!
Se por exemplo você usa um kernel muito atualizado como o 4.19, é uma boa ideia tentar o 4.14 ou 4.4.
Com um kernel inferior, os módulos também são mais antigos e com maior chance de funcionarem no seu computador.

Ensinamos aqui como trocar o kernel Linux.

#UrbanCompassPony

8 comentários em “Parâmetros do Kernel Linux”

  1. cara
    eu to montando uma maquininha gamer

    eu ouvi falar que se desativar uns parâmetros de segurança da pra melhorar a performance

    sabe quais são esses?

    como a maquina não vai ficar ligada a internet eu não me preocupo de ela pegar vírus XD

    :T mas saberia me dizer?

    tipo nompx que desabilita uma extensão de proteção a memória
    será que isso ajudaria na performance?

    Responder
    • E não tem esse limite. O caso ocorre em algumas situações bem especificas. Por exemplo, o kernel 2.6 se nao me engano nao tinha esse suporte. E pode ser que alguem use um linux modificado que não tenha esse suporte. A opção existe como uma garantia.

      Responder
    • Se não me falha a memoria, esse é um erro de algumas flags de vídeo não compativeis entre o kernel e seu PC.
      Mas se seu PC ta funcionando perfeitamente, são erros que podem ser ignorados. Meu PC tem 3 linhas de erro ACPI tambem porém diferentes das suas.

      Responder
  2. Ele funciona de boa só me incomoda são os erros que apresenta quando da o boot.

    Uns dos erros é esse.

    “Pressione Ctrl+c para cancelar todas as verificações de ficheiro de sistema em progresso”

    Mas como o sistema esta em um SSD é tão rápido que não da tempo de fazer nada é nem ler os outros Erros.

    Responder

Deixe um comentário