Kernel-Boot-Parameterreferenz

In der folgenden Tabelle werden einige häufig verwendete Kernel-Boot-Parameter beschrieben.

Option

Beschreibung

0, 1, 2, 3, 4, 5 oder 6 oder systemd.unit=runlevelN.target

Gibt das nächste systemd-äquivalente Systemstatusziel an, das mit einer Legacy-SysV-Ausführungsebene übereinstimmt. N kann einen Ganzzahlwert zwischen 0 und 6 annehmen.

Systemd ordnet Systemstatusziele zu, um das Legacy-System SysV init nachzuahmen.

Eine Beschreibung der Systemzustandsziele finden Sie unter Systemd Targets.

1, s, S, single oder systemd.unit=rescue.target

Gibt die Rettungsshell an. Das System bootet im Einzelbenutzermodus und fordert zur Eingabe des root-Kennworts auf.

3 oder systemd.unit=multi-user.target

Gibt das systemd-Ziel für eine mehrbenutzerunabhängige, nicht grafische Anmeldung an.

5 oder systemd.unit=graphical.target

Gibt das systemd-Ziel für die grafische Anmeldung mit mehreren Benutzern an.

-b, emergency oder systemd.unit=emergency.target

Gibt den Notmodus an. Das System bootet im Einzelbenutzermodus und fordert zur Eingabe des root-Kennworts auf. Es werden weniger Dienste gestartet als im Rettungsmodus.

KEYBOARDTYPE=kbtype

Gibt den Tastaturtyp an, der in initramfs in /etc/sysconfig/keyboard geschrieben wird.

KEYTABLE=kbtype

Gibt das Tastaturlayout an, das in initramfs in /etc/sysconfig/keyboard geschrieben wird.

LANG=language_territory.codeset

Gibt die Systemsprache und das Codeset an, die in initramfs in /etc/sysconfig/i18n geschrieben werden.

max_loop=N

Gibt die Anzahl der Loop Devices (/dev/loop*) an, die für den Zugriff auf Dateien als Block Devices verfügbar sind. Die Standardwerte und Höchstwerte von N sind 8 und 255.

nouptrack

Deaktiviert die Anwendung von Ksplice Uptrack-Updates auf den Kernel.

quiet

Reduziert die Debuggingausgabe.

rd_LUKS_UUID=UUID

Aktiviert eine verschlüsselte Linux Unified Key Setup-(LUKS-)Partition mit der angegebenen UUID.

rd_LVM_VG=vg/lv_vol

Gibt eine LVM-Volume-Gruppe und ein zu aktivierendes Volume an.

rd_NO_LUKS

Deaktiviert die Erkennung einer verschlüsselten LUKS-Partition.

rhgb

Gibt an, dass die grafische Boot-Anzeige von Red Hat verwendet wird, um den Fortschritt des Bootens anzugeben.

rn_NO_DM

Deaktiviert die Device-Mapper-(DM-)RAID-Erkennung.

rn_NO_MD

Deaktiviert die RAID-Erkennung für mehrere Geräte (MD).

ro root=/dev/mapper/vg-lv_root

Gibt an, dass das Root-Dateisystem schreibgeschützt gemountet werden soll, und gibt das Root-Dateisystem über den Gerätepfad seines LVM-Volumes an (wobei vg der Name der Volume-Gruppe ist).

rw root=UUID=UUID

Gibt an, dass das Root-Dateisystem (/) beim Booten schreibgeschützt eingehängt werden soll, und gibt die Root-Partition anhand ihrer UUID an.

selinux=0

Deaktiviert SELinux und berührt die Datei /.autorelabel, sodass SELinux-Dateikontexte beim nächsten Booten mit aktiviertem SELinux automatisch neu beschriftet werden.

Deaktivieren Sie SELinux nicht in Produktionsumgebungen. Setzen Sie SELinux stattdessen auf den Permissive-Modus.

enforcing=0 Setzt SELinux auf den Permissive-Modus bis zum nächsten Neustart. Im Permissive-Modus werden Dateikontexte automatisch beschriftet und Ablehnungen protokolliert, aber Anwendungen können weiterhin funktionieren.

Verwenden Sie den Permissive-Modus von SELinux, um SELinux-Probleme zu debuggen.

SYSFONT=font

Gibt die Konsolenschriftart an, die in initramfs in /etc/sysconfig/i18n geschrieben wird.

Parameter zur Steuerung der Systemleistung

Die folgenden Parameter steuern verschiedene Aspekte der Systemleistung:

Parameter Beschreibung
fs.file-max

Gibt die maximale Anzahl geöffneter Dateien für alle Prozesse an. Erhöhen Sie den Wert dieses Parameters, wenn Meldungen über das Auslaufen von Datei-Handles angezeigt werden.

kernel.io_uring_disabled

Gibt die deaktivierte Einstellung zum Erstellen von io_uring-Instanzen an. io_uring stellt eine Schnittstelle zur Verarbeitung asynchroner I/O-Vorgänge bereit, mit denen die Performance für Speicher und Networking verbessert werden kann. io_uring wird mit UEK unterstützt und ist standardmäßig aktiviert, wenn UEK auf Oracle Linux ausgeführt wird.

Sie können die folgenden Werte für den Parameter io_uring festlegen:

  • kernel.io_uring_disabled=0 (Standard). Diese Einstellung gibt an, dass alle Prozesse io_uring-Instanzen erstellen können.
  • kernel.io_uring_disabled=1. Diese Einstellung gibt an, dass nur Prozesse mit CAP_SYS_ADMIN-Berechtigungen io_uring-Instanzen erstellen können.
  • kernel.io_uring_disabled=2. Diese Einstellung gibt an, dass die Erstellung der io_uring-Instanz für alle Benutzer deaktiviert ist.
net.core.netdev_max_backlog

Gibt die Größe der Backlog-Warteschlange des Empfängers an, die verwendet wird, wenn eine Schnittstelle Pakete schneller empfängt, als der Kernel sie verarbeiten kann. Wenn diese Warteschlange zu klein ist, gehen die Pakete beim Empfänger und nicht im Netzwerk verloren.

net.core.rmem_max

Gibt die maximale Größe des Lese-Socket-Puffers an. Um den Verlust von Netzwerkpaketen zu minimieren, muss dieser Puffer groß genug sein, um eingehende Netzwerkpakete zu verarbeiten.

net.core.wmem_max

Gibt die maximale Größe des Schreib-Socket-Puffers an. Um den Verlust von Netzwerkpaketen zu minimieren, muss dieser Puffer groß genug sein, um abgehende Netzwerkpakete verarbeiten zu können.

net.ipv4.tcp_available_congestion_control

Zeigt die TCP-Algorithmen zur Vermeidung von Überlastungen an, die verwendet werden können. Verwenden Sie den Befehl modprobe, wenn Sie zusätzliche Module wie tcp_htcp laden müssen, um den Algorithmus htcp zu implementieren.

net.ipv4.tcp_congestion_control

Gibt an, welcher TCP-Algorithmus zur Vermeidung von Überlastungen verwendet wird.

net.ipv4.tcp_max_syn_backlog

Gibt die Anzahl der zulässigen ausstehenden SYN-Anforderungen an. Erhöhen Sie den Wert dieses Parameters, wenn in den Logs synflood-Warnungen angezeigt werden, die dadurch verursacht werden, dass der Server von legitimen Verbindungsversuchen überlastet wird.

net.ipv4.tcp_rmem

Gibt die minimale, standardmäßige und maximale Empfangspuffergröße an, die für ein TCP-Socket verwendet wird. Der Höchstwert darf net.core.rmem_max nicht überschreiten.

net.ipv4.tcp_wmem

Gibt die Mindest-, Standard- und Höchstgröße des Sendepuffers an, die für ein TCP-Socket verwendet werden. Der Höchstwert darf net.core.wmem_max nicht überschreiten.

vm.swappiness

Gibt an, wie wahrscheinlich es ist, dass der Kernel geladene Seiten zum Swap schreibt, anstatt Seiten aus dem Systemseitencache zu löschen. Wenn dieser Wert auf 0 gesetzt ist, wird nur ein Swapping durchgeführt, um eine Speicherauslastung zu vermeiden. Bei 100 wechselt der Kernel aggressiv. Bei einem Desktop-System kann die Einstellung eines niedrigeren Wertes die Systemreaktionsfähigkeit verbessern, indem die Latenz verringert wird. Der Standardwert ist 60.

Dieser Parameter ist für die Verwendung mit Laptops vorgesehen, um den Stromverbrauch durch die Festplatte zu reduzieren. Passen Sie diesen Wert nicht auf Serversystemen an.

Parameter, die Kernel-Panels steuern

Die folgenden Parameter steuern die Umstände, unter denen eine Kernelpanik auftreten kann.

Parameter Beschreibung
kernel.hung_task_panic

Wenn dieser Wert auf 1 gesetzt ist, gerät der Kernel in Panik, wenn ein Kernel oder Benutzer-Thread länger als kernel.hung_task_timeout_secs Sekunden im Status TASK_UNINTERRUPTIBLE (D-Status) bleibt. Ein Prozess bleibt im Status D, während auf den Abschluss von I/O gewartet wird. Sie können einen Prozess in diesem Status nicht stoppen oder unterbrechen.

Der Standardwert ist 0, wodurch die Panik deaktiviert wird.

Um einen angehängten Thread zu diagnostizieren, können Sie /proc/PID/stack untersuchen, in dem der Kernelstack sowohl für Kernel- als auch für Benutzerthreads angezeigt wird.

kernel.hung_task_timeout_secs

Gibt an, wie lange ein Benutzer- oder Kernel-Thread im Status D verbleiben kann, bevor eine Warnmeldung generiert wird, oder die Kernel-Panik, wenn der Wert von kernel.hung_task_panic 1 ist. Der Standardwert ist 120 Sekunden. Der Wert 0 deaktiviert den Timeout.

kernel.nmi_watchdog

Wenn dieser Wert auf 1 (Standard) gesetzt ist, wird der nicht maskierbare Interrupt-(NMI-)Überwachungs-Thread im Kernel aktiviert. Um den NMI-Switch oder den OProfile-Systemprofiler zum Generieren eines undefinierten NMI zu verwenden, setzen Sie den Wert von kernel.nmi_watchdog auf 0.

kernel.panic

Gibt die Anzahl der Sekunden nach einer Panik an, bevor ein System sich selbst automatisch zurücksetzt.

Wenn der Wert 0 ist, was der Standardwert ist, wird das System unterbrochen, und Sie können detaillierte Informationen über die Panik zur Fehlerbehebung erfassen.

Um das automatische Zurücksetzen zu aktivieren, legen Sie einen Wert ungleich Null fest. Wenn Sie ein Speicherabbild (vmcore) benötigen, lassen Sie genügend Zeit, damit Kdump dieses Abbild erstellen kann. Der vorgeschlagene Wert beträgt 30 Sekunden, obwohl große Systeme eine längere Zeit benötigen.

kernel.panic_on_io_nmi

Wenn dieser Wert auf 0 (Standard) gesetzt ist, versucht das System, die Vorgänge fortzusetzen, wenn der Kernel eine I/O-Kanalprüfung (IOCHK) NMI erkennt, die normalerweise auf einen nicht korrigierbaren Hardwarefehler hinweist. Bei 1 kommt es zu einer Systempanik.

kernel.panic_on_oops

Wenn dieser Wert auf 0 gesetzt ist, versucht das System, die Vorgänge fortzusetzen, wenn der Kernel eine oops- oder BUG-Bedingung erkennt. Wenn dieser Wert auf 1 (Standard) gesetzt ist, verzögert das System einige Sekunden, um dem Kernel Log Daemon klogd die Zeit zum Aufzeichnen der Oops-Ausgabe zu geben, bevor die Panik eintritt.

Setzen Sie in einem OCFS2-Cluster den Wert auf 1, um anzugeben, dass ein System in Panik geraten muss, wenn ein Kernel ausfällt. Wenn ein für den Clustervorgang erforderlicher Kernel-Thread fehlschlägt, muss das System sich selbst zurücksetzen. Andernfalls erkennt ein anderer Knoten möglicherweise nicht, ob ein Knoten langsam reagiert oder nicht reagieren kann. Dadurch werden Clustervorgänge angehalten.

kernel.panic_on_unrecovered_nmi

Wenn dieser Wert auf 0 (Standard) gesetzt ist, versucht das System, die Vorgänge fortzusetzen, wenn der Kernel eine NMI erkennt, die auf eine nicht korrigierbare Parität oder einen ECC-Speicherfehler hinweisen könnte. Bei 1 kommt es zu einer Systempanik.

kernel.softlockup_panic

Wenn dieser Wert auf 0 (Standard) gesetzt ist, versucht das System, die Vorgänge fortzusetzen, wenn der Kernel einen soft-lockup-Fehler erkennt, der dazu führt, dass der NMI-Watchdog-Thread seinen Zeitstempel für mehr als das Doppelte des Wertes von kernel.watchdog_thresh Sekunden nicht aktualisiert. Bei 1 kommt es zu einer Systempanik.

kernel.unknown_nmi_panic

Wenn dieser Wert auf 1 gesetzt ist, kommt es zu einer Systempanik, wenn der Kernel ein undefiniertes NMI erkennt. Sie können ein undefiniertes NMI generieren, indem Sie einen NMI-Schalter manuell drücken. Da der NMI-Überwachungs-Thread auch den undefinierten NMI verwendet, setzen Sie den Wert von kernel.unknown_nmi_panic auf 0, wenn Sie kernel.nmi_watchdog auf 1 setzen.

kernel.watchdog_thresh

Gibt das Intervall zwischen der Generierung einer NMI-Performanceüberwachungsunterbrechung an, mit der der Kernel auf hard-lockup- und soft-lockup-Fehler prüft. Ein Hard-Lockup-Fehler wird angenommen, wenn eine CPU länger als kernel.watchdog_thresh Sekunden nicht auf die Unterbrechung reagiert. Der Standardwert ist 10 Sekunden. Der Wert 0 deaktiviert die Erkennung von Sperrfehlern.

vm.panic_on_oom

Wenn dieser Wert auf 0 (Standard) gesetzt ist, durchsucht der OOM-Killer des Kernels die gesamte Aufgabenliste und stoppt einen Speicher-Hogging-Prozess, um eine Panik zu vermeiden. Wenn dieser Wert auf 1 gesetzt ist, kann die Kernelpanik unter bestimmten Bedingungen bestehen bleiben. Wenn ein Prozess die Zuweisung zu bestimmten Knoten mithilfe von Speicherrichtlinien oder CPUs begrenzt und diese Knoten den Status "Erschöpfung des Speichers" erreichen, kann der OOM-Killer einen Prozess stoppen. In diesem Fall kommt es zu keiner Panik, da der Speicher anderer Knoten möglicherweise frei ist und das System als Ganzes möglicherweise noch nicht über Arbeitsspeicher verfügt. Wenn dieser Wert auf 2 gesetzt ist, gerät der Kernel immer in Panik, wenn eine OOM-Bedingung auftritt. Die Einstellungen 1 und 2 sind für die Verwendung mit Clustern vorgesehen, abhängig von der definierten Failover-Policy.