Server:Sysctl-Variablen (sysctl.conf)

Aus manitu Wiki
Wechseln zu: Navigation, Suche

Informationen

sysctl-Variablen sind Einstellungen des Linux Kernels, mit Hilfe derer das Verhalten des Kernels im laufenden System angepasst werden kann, z.B. die Größe des ARP-Caches, Netzwerk-Parameter der Netzwerk-Karte u.v.m.

Die Standard-Werte für alle Einstellungen liegen dabei direkt im Quellcode des Linux Kernels. Ein Überschreiben der Werte gilt immer nur für das aktuell laufende System, nach einem Neustart gehen die Einstellungen verloren. Die meisten Linux-Distributionen bieten jedoch eine sysctl.conf-Datei an, die beim Start automatisch geladen wird, um manuell gesetzte sysctl-Variablen bei jedem Neustart des Servers zu aktivieren.

Anleitungen

sysctl-Variablen anzeigen/auslesen/auflisten

Um sich alle sysctl-Variablen anzeigen zu lassen, genügt ein

$ sysctl -a

Alternativ kann man sich auch nur eine bestimmte Einstellung anzeigen lassen, z.B.

$ sysctl net.ipv4.neigh.default.gc_thresh1

sysctl-Variablen setzen/ändern

Wenn Sie eine sysctl-Variable ändern bzw. setzen möchten, so können Sie dies wahlweise nur für das laufende System (bis zum nächsten Neustart) oder dauerhaft tun.

für das laufende System

Um eine sysctl-Variable im laufenden System zu ändern, genügt ein Aufruf der Form

$ sysctl -w variable=value

also z.B.

$ sysctl -w net.ipv4.neigh.default.gc_thresh1=256

dauerhaft via sysctl.conf

Die meisten Linux-Distributionen bieten eine sysctl.conf-Datei an, mit Hilfe derer Sie die Einstellungen dauerhaft (also für nach einem Neustart) festlegen ("speichern") können.

Bei den meisten Linux-Distributionen ist die Datei also /etc/sysctl.conf vorhanden und die Syntax ist

# Kommentar
variable1=value1
variable2=value2
variable3=value3

(...)

Wenn die Datei bereit existiert und Sie eine Änderung vornehmen möchten, suchen Sie als erstes, ob bereits ein Eintrag existiert, den Sie verändern können. Alternativ fügen Sie Ihren Eintrag ans Ende (oder an einer anderen Stelle) hinzu.

Wichtig: Wenn Sie einen Wert in der sysctl.conf-Datei festlegen, gilt dieser erst nach dem nächsten Neustart. Sie müssen den Wert für das laufende System also noch setzen.

alle sysctl.conf-Einstellungen neu laden

Wenn Sie alle Einstellungen der sysctl.conf neu laden möchten, können Sie dies über

$ sysctl -p

tun.