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