Pesquisa de site

Como alterar os parâmetros de tempo de execução do kernel de maneira persistente e não persistente?


Introdução

Os parâmetros de tempo de execução do kernel são configurações que controlam o comportamento do kernel Linux em seu sistema. Esses parâmetros podem afetar uma ampla variedade de funções do sistema, como alocação de memória, desempenho da rede e agendamento da CPU.

Compreender como alterar esses parâmetros é crucial para otimizar o desempenho do sistema e solucionar problemas que possam surgir. Existem duas maneiras principais de alterar os parâmetros de tempo de execução do kernel: alterações não persistentes e alterações persistentes.

Mudanças não persistentes modificam temporariamente o comportamento do kernel, durando apenas até você reinicializar o sistema. Mudanças persistentes, por outro lado, modificam permanentemente o comportamento do kernel e persistem durante as reinicializações.

Alterando os parâmetros de tempo de execução do kernel de maneira não persistente

Definição de mudanças não persistentes e como elas funcionam

Alterações não persistentes nos parâmetros de tempo de execução do kernel são alterações temporárias, o que significa que não sobrevivem à reinicialização do sistema. Essas alterações podem ser feitas usando ferramentas de linha de comando, como sysctl ou echo. Assim que o sistema for reinicializado, as alterações feitas nos parâmetros de tempo de execução do kernel serão perdidas e o sistema reverterá para as configurações padrão.

Uma grande vantagem das alterações não persistentes é que elas permitem testes rápidos de diferentes configurações sem fazer alterações permanentes no sistema. Essa flexibilidade tem uma desvantagem, pois requer atenção constante do administrador para garantir que quaisquer alterações não persistentes desejadas sejam reaplicadas após cada reinicialização ou reinicialização do serviço.

Guia passo a passo sobre como fazer alterações não persistentes usando ferramentas de linha de comando

As etapas a seguir detalham como alterar os parâmetros de tempo de execução do kernel de forma não persistente usando ferramentas de linha de comando -

  • Identifique quais parâmetros do kernel você deseja modificar.

  • Abra um terminal e digite "sysctl -a" ou "cat /proc/sys/[parameter_name]" (sem aspas) para visualizar todos os valores atuais para todas as variáveis sysctl ou para um parâmetro individual, respectivamente.

sysctl –a

ou

cat /proc/sys/[parameter_name]
  • Determine quais valores você deseja alterar e use "echo [value] > /proc/sys/[parameter_name]" (sem aspas) ou "sysctl -w [parameter_name]=[value]" (sem aspas) seguido por "sysctl -p" (para aplicar todas as configurações pendentes).

echo [value] > /proc/sys/[parameter_name]

ou

sysctl -w [parameter_name]=[value]

sysctl -p
  • Verifique se seus novos valores entraram em vigor: use "cat /proc/sys/[nome_do_parâmetro]" novamente ou tente executar seu aplicativo com as novas configurações.

Exemplos de parâmetros comuns de tempo de execução do kernel que podem ser alterados de maneira não persistente

Abaixo estão alguns exemplos de parâmetros de tempo de execução do kernel que podem ser alterados de forma não persistente usando o processo acima -

  • net.ipv4.tcp_syncookies - definido como 0 para desabilitar cookies SYN, que são usados para proteção contra certos tipos de ataques de negação de serviço.

  • vm.swappiness - controla o grau em que o kernel prefere trocar processos inativos em vez de recuperar páginas suportadas por arquivos na memória.

  • net.ipv4.ip_forward - definido como 1 para habilitar o encaminhamento de IP em um nó que atua como roteador.

  • kernel.sem - ajusta os valores máximos para semáforos IPC do System V, filas de mensagens e segmentos de memória compartilhada.

  • fs.file-max - define o número máximo de identificadores de arquivo disponíveis em todo o sistema.

Ao alterar esses parâmetros de forma não persistente, os administradores podem experimentar diferentes configurações e determinar o que funciona melhor para seus sistemas antes de realizar quaisquer alterações permanentemente.

Alterando os parâmetros de tempo de execução do kernel de maneira persistente

Definição de alterações persistentes e como elas diferem das alterações não persistentes

Fazer alterações persistentes nos parâmetros de tempo de execução do kernel significa que as alterações permanecerão mesmo após a reinicialização do sistema. Essas alterações são salvas em arquivos de configuração para que possam ser carregadas automaticamente quando o sistema for inicializado. Isso é diferente das alterações não persistentes que modificam apenas temporariamente as configurações do kernel e revertem aos seus valores originais após a reinicialização do sistema.

Mudanças persistentes são úteis para fazer modificações de longo prazo nas configurações do kernel que precisam permanecer consistentes durante várias reinicializações. Além disso, alterações persistentes podem ser feitas por meio de arquivos de configuração, que podem ser úteis para automatizar configurações em vários sistemas.

Guia passo a passo sobre como fazer alterações persistentes usando arquivos de configuração

Para fazer alterações persistentes usando arquivos de configuração, você precisará modificar o arquivo de configuração apropriado para o parâmetro que deseja alterar. Normalmente, esses arquivos de configuração estão localizados no diretório /etc/sysctl.d/. Aqui está um guia passo a passo sobre como fazer isso -

  • Abra uma janela de terminal e mude para usuário root digitando “sudo su”.

  • Navegue até o diretório /etc/sysctl.d/ digitando "cd /etc/sysctl.d/".

  • Crie um novo arquivo com extensão ".conf" neste diretório usando seu editor de texto preferido (por exemplo, nano) digitando "nano filename.conf".

  • Adicione os parâmetros de tempo de execução do kernel desejados com seus valores correspondentes neste arquivo (um par parâmetro-valor por linha).

Por exemplo −

net.ipv4.tcp_fin_timeout=30 
vm.swappiness=10  
  • Salve e feche o arquivo pressionando CTRL+X seguido de Y e depois ENTER.

  • Atualize as configurações do sysctl usando o comando: "sysctl --system" Depois de executar essas etapas, as alterações persistentes nos parâmetros de tempo de execução do kernel serão salvas no arquivo de configuração e persistirão durante as reinicializações.

Exemplos de parâmetros comuns de tempo de execução do kernel que podem ser alterados de maneira persistente

Muitos parâmetros de tempo de execução do kernel podem ser alterados de forma persistente através de arquivos de configuração. Aqui estão alguns exemplos comuns -

  • net.ipv4.tcp_fin_timeout - Este parâmetro controla o tempo que uma conexão permanece no estado TIME_WAIT após ser fechada. O valor padrão geralmente é 60 segundos, mas pode ser reduzido para um fechamento mais rápido da conexão.

  • vm.swappiness - Este parâmetro controla a agressividade com que o kernel troca as páginas de memória entre a RAM e o espaço de troca. Valores mais baixos (como 10) resultam em menos trocas e mais uso de memória física, enquanto valores mais altos (como 60) resultam em mais trocas e menos uso de memória física.

  • fs.file-max - Este parâmetro define o número máximo de arquivos abertos que podem existir no sistema a qualquer momento. Aumentar esse valor pode ser útil para sistemas com altas demandas de E/S de arquivos.

No geral, alterar os parâmetros de tempo de execução do kernel de maneira persistente usando arquivos de configuração é uma habilidade importante para administradores de sistema que desejam fazer modificações de longo prazo no comportamento de seu sistema. Seguindo essas etapas, você pode garantir que suas configurações sejam carregadas automaticamente sempre que o sistema for inicializado, reduzindo a intervenção manual e economizando tempo.

Melhores práticas para alterar os parâmetros de tempo de execução do kernel

A alteração dos parâmetros de tempo de execução do kernel pode ter um impacto significativo no desempenho e na estabilidade do sistema. Para evitar problemas e garantir que as alterações sejam eficazes, é importante seguir as melhores práticas ao fazer alterações. Esta seção cobrirá algumas das principais práticas recomendadas.

Importância de testar mudanças antes de implementá-las

Antes de implementar quaisquer alterações, é importante testá-las em um ambiente que não seja de produção. Isso permite que quaisquer problemas ou conflitos sejam identificados antes da implementação das alterações nos sistemas de produção. Os testes devem incluir a verificação de que o sistema funciona conforme esperado após a alteração ter sido feita.

Discussão sobre quando usar alterações não persistentes versus alterações persistentes

A escolha de fazer alterações persistentes ou não persistentes nos parâmetros de tempo de execução do kernel depende em grande parte do escopo pretendido da alteração e de seu impacto potencial. As alterações não persistentes são ideais para modificações temporárias que não precisam ser mantidas entre as reinicializações do sistema, enquanto as alterações persistentes são mais adequadas para modificações de longo prazo que devem persistir durante as reinicializações.

Conclusão

Alterar os parâmetros de tempo de execução do kernel pode ser uma ferramenta poderosa para otimizar o desempenho e a funcionalidade do sistema. Ao compreender as diferenças entre alterações não persistentes e persistentes, os usuários podem tomar decisões informadas sobre qual método usar para suas necessidades específicas. É importante ter em mente que quaisquer alterações feitas nesses parâmetros devem ser exaustivamente testadas antes de serem implementadas em um sistema de produção.

Ao longo deste artigo, abordamos o processo passo a passo de fazer alterações persistentes e não persistentes usando ferramentas de linha de comando e arquivos de configuração. Também discutimos as práticas recomendadas para alterar os parâmetros de tempo de execução do kernel e oferecemos dicas sobre como solucionar possíveis problemas que possam surgir.

Artigos relacionados: