11.9. Efetuando ajustes com o sysctl(8)
Anterior | Capítulo 11. Configuração e Ajuste | Próxima

## 11.9. Efetuando ajustes com o sysctl(8)

O sysctl(8) é usado para fazer mudanças em um sistema FreeBSD em execução. Isso inclui muitas opções avançadas da stack TCP/IP e do sistema de memória virtual as quais podem melhorar drasticamente o desempenho do FreeBSD para um administrador de sistema experiente. Mais de quinhentas variáveis ​​do sistema podem ser lidas e definidas usando o sysctl(8).

Em sua essência, o sysctl(8) serve duas funções: ler e modificar as configurações do sistema.

Para ver todas as variáveis ​​legíveis:

    % sysctl -a

Para ler uma variável específica, especifique seu nome:

    % sysctl kern.maxproc
    kern.maxproc: 1044

Para definir uma variável específica, use a sintaxe `variable`=`value`:

    # sysctl kern.maxfiles=5000
    kern.maxfiles: 2088 -> 5000

As configurações das variáveis ​​sysctl são geralmente strings, números ou booleanos, onde um booleano é `1` para sim `0` para não.

Para definir automaticamente algumas variáveis ​​sempre que a máquina inicializar, adicione-as ao `/etc/sysctl.conf`. Para maiores informações, consulte sysctl.conf(5) e Seção 11.9.1, “`sysctl.conf`”.

### 11.9.1. `sysctl.conf`

O arquivo de configuração para o sysctl(8), `/etc/sysctl.conf`, se parece muito com o `/etc /rc.conf`. Os valores são definidos na forma `variable=value`. Os valores especificados são definidos após o sistema entrar no modo multiusuário. Nem todas as variáveis ​​são configuráveis ​​neste modo.

Por exemplo, para desativar o log de saídas de sinais fatais e impedir que os usuários vejam processos iniciados por outros usuários, os seguintes ajustes podem ser configurados em `/etc/sysctl.conf`:

    # Do not log fatal signal exits (e.g., sig 11)
    kern.logsigexit=0

    # Prevent users from seeing information about processes that
    # are being run under another UID.
    security.bsd.see_other_uids=0

### 11.9.2. Variáveis sysctl(8) apenas de leitura

Contribuído por Tom Rhodes.

Em alguns casos, pode ser desejável modificar os valores de variáveis do sysctl(8) que são somente de leitura, o que exigirá uma reinicialização do sistema.

Por exemplo, em alguns modelos de laptops, o dispositivo cardbus(4) não examinará os intervalos de memória e falhará com erros semelhantes a:

    cbb0: Could not map register memory
    device_probe_and_attach: cbb0 attach returned 12

A correção requer a modificação de uma configuração definida por uma variável do sysctl(8) que é somente de leitura. Adicione `hw.pci.allow_unsupported_io_range=1` ao arquivo `/boot/loader.conf` e reinicie. Agora o cardbus(4) deve funcionar corretamente.

Anterior | Acima | Próxima
11.8. Arquivos de Configuração | Principal | 11.10. Otimização de Discos

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.