Home   Profil   Fun
#22 Linux  03.06.2007

Kernelparameter mit sysctl anzeigen und setzen


Voraussetzung ist, dass die Unterstützung für das proc-Pseudodateisystem in der Kernelkonfiguration aktiviert ist (CONFIG_PROC_FS=y) und proc nach /proc gemountet ist. Dies führt dazu, dass man auf alle verfügbaren Kernelparameter zur Laufzeit unterhalb von /proc/sys/ zugreifen kann.

Um einen einzelnen Parameter auszugeben verwendet man das Kommando cat.
cat /proc/sys/vm/min_free_kbytes

Um diesen Wert zu ändern, schreibt man den gewünschten Wert mit echo hinein.
echo "4096" > /proc/sys/vm/min_free_kbytes

Man kann auch alle Parameter auf einmal ausgeben. Der folgende Befehl listet alle Kernelparameter zusammen mit den Werten und Pfaden unterhalb von /proc auf.
sysctl -a

Änderungen die zur Laufzeit in /proc gemacht werden gehen beim nächten Reboot verloren. Für eine dauerhafte Zuweisung neuer Werte kann man Einträge in /etc/sysctl.conf machen. Dazu muss man den Pfad unterhalb von /proc zum gewünschten Parameter heraussuchen. Für eine korrekte Syntax ersetzt man in diesem Pfad die Schrägstriche durch Punkte.
Ein Beispiel: Dauerhaft /proc/sys/vm/min_free_kbytes auf 4096 setzen.
vi /etc/sysctl.conf
vm.min_free_kbytes=4096

Um alle Parameter in /etc/sysctl.conf neu einzulesen ist kein Reboot erforderlich. Mit dem folgenden Kommando kann man das zur Laufzeit tun.
sysctl -p

Auch eine beliebige andere Konfigurationsdatei kann so eingelesen werden.
sysctl -p /etc/sysctl_new.conf