Como modificar variáveis ​​do kernel Linux usando o comando sysctl

Como modificar variáveis ​​do kernel Linux usando o comando sysctl

Você pode configurar vários parâmetros ou túnios do Linux (o kernel) para controlar seu comportamento, na inicialização ou sob demanda enquanto o sistema estiver em execução. sysctl é um utilitário de linha de comando amplamente usado para modificar ou configurar os parâmetros do kernel no tempo de execução. Você pode encontrar os túnios do kernel listados no /proc/sys/ diretório.

É alimentado por Procfs (Sistema de arquivos proc), um sistema de arquivos pseudo no Linux e outros sistemas operacionais do tipo UNIX que fornecem uma interface às estruturas de dados do kernel. Apresenta informações sobre processos e informações adicionais do sistema.

Os seguintes são 10 úteis sysctl Comandos exemplos que você pode usar ao administrar um sistema Linux em execução. Observe que você precisa de privilégios de raiz para executar o sysctl comando, caso contrário, use o comando sudo ao invocá -lo.

Índice

1
  • Exemplos de comando sysctl no Linux
  • 1. Liste todos os parâmetros do kernel no Linux
  • 3. Liste todos os nomes de variáveis ​​do kernel
  • 3. Encontre variáveis ​​específicas do kernel no Linux
  • 4. Liste todas as variáveis ​​do kernel, incluindo depreciado
  • 5. Liste o valor variável do kernel específico
  • 6. Escreva a variável do kernel temporariamente
  • 7. Escreva a variável do kernel permanentemente
  • 8. Recarregue Sysctl.Variáveis ​​confiadas no Linux
  • 9. Recarregue as configurações de arquivos de configuração personalizados
  • 10. Recarregue as configurações que correspondem ao padrão

Exemplos de comando sysctl no Linux

Neste guia, explicaremos 10 exemplos de comando práticos de sysctl que você pode usar em um sistema Linux.

1. Liste todos os parâmetros do kernel no Linux

Para listar todos os parâmetros do kernel atualmente disponíveis, execute o comando sysctl com o -a ou --todos bandeira como mostrado.

$ sudo sysctl -a ou $ sudo sysctl --l 

As variáveis ​​são exibidas neste formato:

. =  

Por exemplo,

núcleo.Ostype = Linux 
Verifique os parâmetros do kernel no Linux

3. Liste todos os nomes de variáveis ​​do kernel

Para imprimir apenas nomes de variáveis ​​sem seus valores, use o -N opção como mostrado.

$ sudo sysctl -a -n 
Verifique os nomes das variáveis ​​do kernel no Linux

3. Encontre variáveis ​​específicas do kernel no Linux

Para encontrar uma variável específica, você pode filtrar a saída de sysctl através do comando grep, por exemplo, para filtrar qualquer variável associada a memória Gerenciamento, você pode executar o seguinte comando:

$ sudo sysctl -a | Memória Grep ou $ sudo sysctl --l | Memória Grep 
Verifique a variável de memória do kernel no Linux

4. Liste todas as variáveis ​​do kernel, incluindo depreciado

sysctl O comando também mostra variáveis ​​depreciadas juntamente com a lista de todas as variáveis ​​disponíveis usando o --descontinuada bandeira como mostrado.

$ sudo sysctl -a -depreciado ou $ sudo sysctl -a -depreciado | Memória Grep 

5. Liste o valor variável do kernel específico

Para ler um sysctl variável e seus valores, especifique o nome da variável como um argumento para o sysctl comandos da seguinte maneira. Este exemplo mostra como ler o núcleo.Ostype variável.

$ sudo sysctl kernel.Ostype núcleo.Ostype = Linux 

6. Escreva a variável do kernel temporariamente

Para escrever variáveis ​​temporariamente, basta especificar a variável neste formato.

.= 

O exemplo a seguir mostra como aumentar o tamanho máximo da fila de recebimento, que armazena os quadros escolhidos pelo tampão de anel do Nic (Placa de interface de rede), uma vez recebidos da rede. O tamanho da fila pode ser modificado usando o líquido.essencial.netdev_max_backlog variável como mostrado.

$ sudo sysctl net.essencial.netdev_max_backlog $ sudo sysctl net.essencial.netdev_max_backlog = 1200 $ sudo sysctl net.essencial.netdev_max_backlog 
Defina a variável do kernel temporariamente

7. Escreva a variável do kernel permanentemente

sysctl também pode escrever variáveis ​​permanentemente em um arquivo de configuração. Para conseguir isso, use o -c opção e especificar o arquivo de configuração A variável e seu valor serão anexados a, neste caso, é /etc/sysctl.conf, O arquivo de configuração SYSCTL padrão:

$ sudo sysctl -w net.essencial.netdev_max_backlog = 1200 >> /etc /sysctl.conf 

Para escrever arquivos permanentemente em um costume, especifique a localização do arquivo como segue. Às vezes, você pode deixar de criar um arquivo em locais específicos, mesmo quando você invoca o sysctl comando usando o Comando sudo.

Nesse caso, mude para a conta raiz (se você tiver os privilégios) e execute o comando novamente como mostrado.

$ sudo sysctl -w net.essencial.netdev_max_backlog = 1200 >> /etc /sysctl.D/10 testes.conf $ sudo su # sysctl -w net.essencial.netdev_max_backlog = 1200 >> /etc /sysctl.D/10 testes.conf 
Defina a variável do kernel permanentemente

Como alternativa, você pode criar o novo arquivo de configuração em /etc/sysctl.d/ diretório como mostrado:

$ sudo vim /etc /sysctl.D/10 testes.conf 

Em seguida, adicione os parâmetros do kernel, nele um por linha, como mostrado.

líquido.essencial.netdev_max_backlog = 1200 Usuário.max_net_namespaces = 63067 VM.overcommit_memory = 0 

Em seguida, salve o arquivo e feche -o. Para carregar configurações do arquivo personalizado que você acabou de criar, use o -p ou --carregar bandeira.

$ sudo sysctl -p /etc /sysctl.D/10 testes.conf ou $ sudo sysctl --load = /etc /sysctl.D/10 testes.conf 

8. Recarregue Sysctl.Variáveis ​​confiadas no Linux

Para recarregar as configurações de todos os arquivos de configuração do sistema sem reiniciar, emita o seguinte comando.

$ sudo sysctl -sistema 

O comando acima lerá todos os arquivos de configuração do sistema desses diretórios, nesta ordem:

/run/sysctl.d/*.conf /etc /sysctl.d/*.conf/usr/local/lib/sysctl.d/*.conf/usr/lib/sysctl.d/*.conf /lib /sysctl.d/*.conf /etc /sysctl.conf 

9. Recarregue as configurações de arquivos de configuração personalizados

Você também pode recarregar as configurações da variável de um arquivo de configuração SYSCTL personalizado, como mostrado.

$ sudo sysctl -p/etc/sysctl.D/10 testes.conf ou $ sudo sysctl --load = /etc /sysctl.D/10 testes.conf 

10. Recarregue as configurações que correspondem ao padrão

Para aplicar apenas configurações que correspondem a um determinado padrão, use o -r ou --padrão do seguinte modo. Observe que o padrão usa sintaxe de expressão regular estendida, aqui estão alguns exemplos:

$ sudo sysctl - -sistema -padrão '^net.IPv6 '$ sudo sysctl -System -r Memória 
Recarregue as configurações que correspondem ao padrão

Neste guia, explicamos 10 sysctl Exemplos de comando que você pode usar para gerenciar um sistema Linux em execução. Para mais informações, leia o sysctl página de homem (Homem Sysctl).