GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Sysctl-Befehl unter Linux

Als Linux-Systemadministrator müssen Sie manchmal das Verhalten des Standardkernels ändern. Beispielsweise müssen Sie möglicherweise den magischen SysRq-Schlüssel aktivieren oder die Anzahl der Verbindungen erhöhen, die der Kernel akzeptiert. Die Kernelparameter können beim Erstellen des Kernels, beim Systemstart oder zur Laufzeit gesetzt werden.

In diesem Artikel wird die Verwendung von sysctl erläutert Befehl zum Anzeigen und Ändern von Kernelparametern zur Laufzeit.

Verwendung von sysctl um die Kernel-Parameter anzuzeigen #

Um alle aktuellen Kernelparameter anzuzeigen, rufen Sie sysctl auf Befehl mit dem -a Möglichkeit:

sysctl -a

Dadurch wird eine große Liste ausgegeben, die etwa wie folgt aussieht, wobei jede Zeile den Namen des Parameters und seinen Wert enthält:

abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...

Alle Benutzer können die aktuellen Kernelparameter anzeigen; nur der Root-Benutzer kann ihre Werte ändern.

Sie können den Wert eines einzelnen Parameters überprüfen, indem Sie seinen Namen als Argument an sysctl übergeben . Um beispielsweise den aktuellen Swappiness-Wert zu überprüfen, würden Sie Folgendes eingeben:

sysctl vm.swappiness
vm.swappiness = 60

Swapiness ist eine Linux-Kernel-Eigenschaft, die definiert, wie oft das System den Swap-Speicher verwendet.

Die sysctl Der Befehl liest die Informationen aus /proc/sys Verzeichnis. /proc/sys ist ein virtuelles Verzeichnis, das Dateiobjekte enthält, mit denen die aktuellen Kernelparameter angezeigt und eingestellt werden können.

Sie können einen Parameterwert auch anzeigen, indem Sie den Inhalt der entsprechenden Datei anzeigen. Der einzige Unterschied besteht darin, wie die Datei dargestellt wird. Zum Beispiel sowohl sysctl vm.swappiness und cat /proc/sys/vm/swappiness wird die gleiche Ausgabe geben. Bei Verwendung von sysctl die Verzeichnis-Schrägstriche werden durch Punkte und die proc.sys ersetzt Teil wird angenommen.

Verwendung von sysctl um die Kernel-Parameter zu ändern #

Um einen Kernel-Parameter zur Laufzeit zu setzen, führen Sie sysctl aus Befehl gefolgt vom Parameternamen und -wert im folgenden Format:

sysctl -w parameter=value

Wenn der Wert Leerzeichen oder Sonderzeichen enthält, schließen Sie den Wert in doppelte Anführungszeichen ein. Sie können auch mehrere parameter=value übergeben Paare im selben Befehl.

Seien Sie besonders vorsichtig, wenn Sie die Kerneleinstellungen auf einem Produktionssystem ändern, da dies den Kernel instabil machen kann und Sie das System neu starten müssen.

Um beispielsweise die IPv4-Paketweiterleitung zu aktivieren, würden Sie Folgendes ausführen:

sysctl -w net.ipv4.ip_forward=1

Die Änderung wird sofort wirksam, ist aber nicht dauerhaft. Nach einem Systemneustart wird der Standardwert geladen.

Um einen Parameter dauerhaft festzulegen, müssen Sie die Einstellungen in /etc/sysctl.conf schreiben oder eine andere Konfigurationsdatei in /etc/sysctl.d Verzeichnis:

sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf

Eine andere Möglichkeit, Parameter zu ändern, ist die Verwendung von echo Befehl, um die Einstellungen in die Dateien in /proc/sys zu schreiben Verzeichnis. Anstatt den obigen Befehl auszuführen, können Sie beispielsweise Folgendes verwenden:

echo 1 > /proc/sys/net/ipv4/ip_forward

Das -p Option können Sie die Einstellungen aus einer Konfigurationsdatei laden:

sysctl -p /etc/sysctl.d/file_name.conf

Wenn keine Datei angegeben wird, sysctl liest die /etc/sysctl.conf Datei.

Schlussfolgerung #

Die sysctl Mit dem Befehl können Sie Linux-Kernel-Parameter anzeigen und ändern.

Fühlen Sie sich frei, einen Kommentar zu hinterlassen, wenn Sie Fragen haben.


Linux
  1. Linux-mv-Befehl

  2. Linux-Du-Befehl

  3. Linux-IP-Befehl

  4. Linux-cd-Befehl

  5. sysctl-Befehlsbeispiele in Linux

W-Befehl unter Linux

Bei Befehl unter Linux

Modprobe-Befehl unter Linux

Df-Befehl unter Linux

sysctl-Befehl unter Linux

So verwenden Sie den Befehl sysctl unter Linux