Mit sysctl(8) können Sie Änderungen an einem laufenden FreeBSD-System vornehmen. Unter anderem können Optionen des TCP/IP-Stacks oder des virtuellen Speichermanagements verändert werden. Unter der Hand eines erfahrenen Systemadministrators kann dies die Systemperformance erheblich verbessern. Über 500 Variablen können mit sysctl(8) gelesen und gesetzt werden.
Der Hauptzweck von sysctl(8) besteht darin, Systemeinstellungen zu lesen und zu verändern.
Alle auslesbaren Variablen werden wie folgt angezeigt:
%
sysctl -a
Um eine spezielle Variable zu lesen, geben Sie den Namen an:
%
sysctl kern.maxproc
kern.maxproc: 1044
Um eine Variable zu setzen, benutzen Sie die Syntax
Variable
=
Wert
:
#
sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
Mit sysctl können Strings, Zahlen oder Boolean-Werte gesetzt
werden. Bei Boolean-Werten steht 1
für wahr und 0
für falsch.
Um die Variablen automatisch während des Systemstarts zu
setzen, fügen Sie sie in /etc/sysctl.conf
ein. Weitere Informationen finden Sie in der Hilfeseite
sysctl.conf(5) und in Abschnitt 11.9.1, „sysctl.conf
“.
/etc/sysctl.conf
sieht ähnlich
wie /etc/rc.conf
aus. Werte werden
in der Form Variable=Wert
gesetzt.
Die angegebenen Werte werden gesetzt, nachdem sich das
System bereits im Mehrbenutzermodus befindet. Allerdings
lassen sich im Mehrbenutzermodus nicht alle Werte
setzen.
Um das Protokollieren von fatalen Signalen abzustellen
und Benutzer daran zu hindern, von anderen Benutzern
gestartete Prozesse zu sehen, können Sie in
/etc/sysctl.conf
die folgenden
Variablen setzen:
# 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
Wenn schreibgeschützte sysctl(8)-Variablen verändert werden, ist ein Neustart des Systems erforderlich.
Beispielsweise hat cardbus(4) auf einigen Laptops Schwierigkeiten, Speicherbereiche zu erkennen. Es treten dann Fehlermeldungen wie die folgende auf:
cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12
Um dieses Problem zu lösen, muss eine
schreibgeschützte sysctl(8)-Variable verändert werden.
Fügen Sie hw.pci.allow_unsupported_io_range=1
in /boot/loader.conf
hinzu und starten
Sie das System neu. Danach sollte cardbus(4) fehlerfrei
funktionieren.
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.