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.

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>.