Referência de Parâmetros de Inicialização do Kernel

A tabela a seguir descreve alguns parâmetros de inicialização do kernel comumente usados.

Opção

Descrição

0, 1, 2, 3, 4, 5, ou 6 ou systemd.unit=runlevelN.target

Especifica o destino de estado do sistema equivalente a systemd mais próximo para corresponder a um nível de execução SysV legado. N pode ter um valor inteiro entre 0 e 6.

Systemd mapeia destinos de estado do sistema para imitar o sistema init SysV legado.

Para obter uma descrição dos destinos de estado do sistema, consulte Alvos de Estado do Sistema.

1, s, S, single ou systemd.unit=rescue.target

Especifica o shell de resgate. O sistema inicializa no modo de usuário único solicita a senha root.

3 ou systemd.unit=multi-user.target

Especifica o destino systemd para log-in não gráfico e multiusuário.

5 ou systemd.unit=graphical.target

Especifica o destino systemd para log-in gráfico e multiusuário.

-b, emergency ou systemd.unit=emergency.target

Especifica o modo de emergência. O sistema inicializa no modo de usuário único e solicita a senha root. Menos serviços são iniciados do que quando no modo de resgate.

KEYBOARDTYPE=kbtype

Especifica o tipo de teclado, que é gravado em /etc/sysconfig/keyboard no initramfs.

KEYTABLE=kbtype

Especifica o layout do teclado, que é gravado em /etc/sysconfig/keyboard no initramfs.

LANG=language_territory.codeset

Especifica o idioma do sistema e o codeset, que é gravado no /etc/sysconfig/i18n no initramfs.

max_loop=N

Especifica o número de dispositivos de loop (/dev/loop*) que estão disponíveis para acessar arquivos como dispositivos de bloco. Os valores padrão e máximo de N são 8 e 255.

nouptrack

Desativa a aplicação de atualizações de Uptrack do Ksplice ao kernel.

quiet

Reduz a saída de depuração.

rd_LUKS_UUID=UUID

Ativa uma partição LUKS (Linux Unified Key Setup) criptografada com o UUID especificado.

rd_LVM_VG=vg/lv_vol

Especifica um grupo de volumes LVM e um volume a serem ativados.

rd_NO_LUKS

Desativa a detecção de uma partição LUKS criptografada.

rhgb

Especifica o uso da exibição gráfica de inicialização do Red Hat para indicar o andamento da inicialização.

rn_NO_DM

Desativa a detecção de RAID do mapeador de dispositivos (DM).

rn_NO_MD

Desativa a detecção de RAID de vários dispositivos (MD).

ro root=/dev/mapper/vg-lv_root

Especifica que o sistema de arquivos raiz deve ser montado como somente leitura e especifica o sistema de arquivos raiz pelo caminho do dispositivo de seu volume LVM (em que vg é o nome do grupo de volumes).

rw root=UUID=UUID

Especifica que o sistema de arquivos raiz (/) deverá ser montado como gravável na inicialização e especifica a partição raiz por seu UUID.

selinux=0

Desativa o SELinux e toca o arquivo /.autorelabel para que os contextos de arquivo do SELinux sejam automaticamente rotulados novamente na próxima vez que você inicializar com o SELinux ativado.

Não desative o SELinux em ambientes de produção. Em vez disso, defina o SELinux como modo permissivo.

enforcing=0 Define o SELinux como modo permissivo até a próxima reinicialização. No modo permissivo, os contextos de arquivo são rotulados automaticamente e as negações são registradas, mas os aplicativos podem continuar funcionando.

Use o modo permissivo do SELinux para depurar problemas do SELinux.

SYSFONT=font

Especifica a fonte do console, que é gravada em /etc/sysconfig/i18n no initramfs.

Parâmetros que Controlam o Desempenho do Sistema

Os seguintes parâmetros controlam vários aspectos do desempenho do sistema:

Parâmetro Descrição
fs.file-max

Especifica o número máximo de arquivos abertos para todos os processos. Aumente o valor desse parâmetro se você vir mensagens sobre a falta de handles de arquivo.

kernel.io_uring_disabled

Especifica a definição desativada para criar instâncias io_uring. io_uring fornece uma interface para tratar operações de E/S assíncronas que podem melhorar o desempenho do armazenamento e da rede. io_uring é suportado com UEK e é ativado por padrão ao executar o UEK no Oracle Linux.

Você pode definir os seguintes valores para o parâmetro io_uring:

  • kernel.io_uring_disabled=0 (padrão). Essa definição especifica que todos os processos podem criar instâncias io_uring.
  • kernel.io_uring_disabled=1. Essa definição especifica que somente processos com privilégios CAP_SYS_ADMIN podem criar instâncias io_uring.
  • kernel.io_uring_disabled=2. Essa definição especifica que a criação da instância io_uring está desativada para todos os usuários.
net.core.netdev_max_backlog

Especifica o tamanho da fila de backlog do receptor, que é usada se uma interface receber pacotes mais rápido do que o kernel pode processá-los. Se esta fila for muito pequena, os pacotes são perdidos no receptor, em vez de na rede.

net.core.rmem_max

Especifica o tamanho máximo do buffer do soquete de leitura. Para minimizar a perda de pacotes de rede, esse buffer deve ser grande o suficiente para lidar com os pacotes de rede de entrada.

net.core.wmem_max

Especifica o tamanho máximo do buffer do soquete de gravação. Para minimizar a perda de pacotes de rede, este buffer deve ser grande o suficiente para lidar com os pacotes de rede de saída.

net.ipv4.tcp_available_congestion_control

Exibe os algoritmos de prevenção de congestionamento TCP disponíveis para uso. Use o comando modprobe se precisar carregar módulos adicionais, como tcp_htcp, para implementar o algoritmo htcp.

net.ipv4.tcp_congestion_control

Especifica qual algoritmo de prevenção de congestionamento TCP é usado.

net.ipv4.tcp_max_syn_backlog

Especifica o número de solicitações SYN pendentes que são permitidas. Aumente o valor desse parâmetro se você vir advertências synflood nos logs causadas pelo servidor que está sendo sobrecarregado por tentativas de conexão legítimas.

net.ipv4.tcp_rmem

Especifica os tamanhos mínimo, padrão e máximo do buffer de recebimento que são usados para um soquete TCP. O valor máximo não pode ser maior que net.core.rmem_max.

net.ipv4.tcp_wmem

Especifica os tamanhos mínimo, padrão e máximo do buffer de envio usados para um soquete TCP. O valor máximo não pode ser maior que net.core.wmem_max.

vm.swappiness

Especifica a probabilidade de o kernel gravar páginas carregadas para trocar em vez de eliminar páginas do cache de página do sistema. Quando definido como 0, a troca ocorre apenas para evitar uma condição de falta de memória. Quando definido como 100, o kernel troca agressivamente. Para um sistema de desktop, definir um valor menor pode melhorar a capacidade de resposta do sistema diminuindo a latência. O valor padrão é 60.

Este parâmetro destina-se ao uso com laptops para reduzir o consumo de energia pelo disco rígido. Não ajuste esse valor nos sistemas de servidor.

Parâmetros que Controlam os Pane do Kernel

Os parâmetros a seguir controlam as circunstâncias em que uma pane do kernel pode ocorrer.

Parâmetro Descrição
kernel.hung_task_panic

Se definido como 1, o kernel entrará em pânico se qualquer thread de kernel ou usuário permanecer no estado TASK_UNINTERRUPTIBLE (Estado D) por mais de kernel.hung_task_timeout_secs segundos. Um processo permanece no estado D enquanto aguarda a conclusão da E/S. Não é possível interromper ou interromper um processo neste estado.

O valor padrão é 0, o que desativa o pânico.

Para diagnosticar um thread suspenso, você pode examinar /proc/PID/stack, que exibe a pilha do kernel para threads do kernel e do usuário.

kernel.hung_task_timeout_secs

Especifica por quanto tempo um usuário ou thread de kernel pode permanecer no estado D antes de uma mensagem de advertência ser gerada ou o kernel entrar em pânico, se o valor de kernel.hung_task_panic for 1. O valor padrão é de 120 segundos. Um valor 0 desativa o timeout.

kernel.nmi_watchdog

Se definido como 1 (padrão), ativa o thread de controle de interrupção não mascarável (NMI) no kernel. Para usar o switch NMI ou o profiler do sistema OProfile para gerar um NMI indefinido, defina o valor de kernel.nmi_watchdog como 0.

kernel.panic

Especifica o número de segundos após uma pane antes que um sistema se redefina automaticamente.

Se o valor for 0, que é o valor padrão, o sistema será suspenso e você poderá coletar informações detalhadas sobre a emergência para solucionar problemas.

Para ativar a redefinição automática, defina um valor diferente de zero. Se você precisar de uma imagem de memória (vmcore), deixe tempo suficiente para o Kdump criar essa imagem. O valor sugerido é de 30 segundos, embora sistemas grandes exijam um tempo maior.

kernel.panic_on_io_nmi

Se definido como 0 (padrão), o sistema tentará continuar as operações se o kernel detectar uma I/O channel check (IOCHK) NMI que normalmente indica um erro de hardware incorrigível. Se definido como 1, o sistema entrará em pânico.

kernel.panic_on_oops

Se definido como 0, o sistema tentará continuar as operações se o kernel detectar uma condição oops ou BUG. Se definido como 1 (padrão), o sistema atrasará alguns segundos para fornecer ao daemon de log do kernel, klogd, tempo para registrar a saída oops antes que ocorra o pânico.

Em um cluster OCFS2. defina o valor como 1 para especificar que um sistema deve entrar em pânico se ocorrer um oops de kernel. Se um thread de kernel necessário para a operação de cluster falhar, o sistema deverá se redefinir. Caso contrário, outro nó poderá não detectar se um nó está lento para responder ou incapaz de responder, fazendo com que as operações do cluster sejam interrompidas.

kernel.panic_on_unrecovered_nmi

Se definido como 0 (padrão), o sistema tentará continuar as operações se o kernel detectar uma NMI que possa indicar uma paridade incorrigível ou um erro de memória ECC. Se definido como 1, o sistema entrará em pânico.

kernel.softlockup_panic

Se definido como 0 (padrão), o sistema tentará continuar as operações se o kernel detectar um erro soft-lockup que faça com que o thread de controle NMI falhe ao atualizar seu timestamp por mais do que o dobro do valor de kernel.watchdog_thresh segundos. Se definido como 1, o sistema entrará em pânico.

kernel.unknown_nmi_panic

Se definido como 1, o sistema executará uma pane se o kernel detectar uma NMI indefinida. Você pode gerar um NMI indefinido pressionando manualmente um switch NMI. Como o thread de monitoramento da NMI também usa a NMI indefinida, defina o valor de kernel.unknown_nmi_panic como 0 se você definir kernel.nmi_watchdog como 1.

kernel.watchdog_thresh

Especifica o intervalo entre a geração de uma interrupção do monitoramento de desempenho da NMI que o kernel usa para verificar se há erros de hard-lockup e soft-lockup. Um erro de hard-lockup é assumido se uma CPU não responder à interrupção por mais de kernel.watchdog_thresh segundos. O valor padrão é 10 segundos. O valor 0 desativa a detecção de erros de bloqueio.

vm.panic_on_oom

Se definido como 0 (padrão), o OOM-killer do kernel verifica toda a lista de tarefas e interrompe um processo de armazenamento de memória para evitar uma pane. Se definido como 1, o kernel entra em pânico, mas pode sobreviver sob certas condições. Se um processo limitar as alocações a determinados nós usando políticas de memória ou cpusets, e esses nós atingirem o status de exaustão de memória, o OOM-killer poderá interromper um processo. Não há pânico neste caso porque a memória de outros nós pode estar livre e o sistema como um todo pode ainda não estar sem memória. Se definido como 2, o kernel sempre entra em pânico quando ocorre uma condição OOM. As definições 1 e 2 destinam-se ao uso com clusters, dependendo da política de failover definida.