Öffentliche Referenz zur Kernel-Befehlszeile

Jede Einstellung verstehen. Das exakte Produktionsprofil anfordern.

Diese öffentliche Referenz erläutert Zweck, zulässige Werte, Auswirkungen auf latency, Fehlerszenarien und die Prüfung nach dem Booten. Sie veröffentlicht bewusst keine universelle HFTKernel-Befehlszeile: Exakte Werte hängen von CPU-Topologie, NUMA-Platzierung, NIC-Warteschlangen, Zeitmessung, Speichergeräten, Sicherheitsrichtlinie und Arbeitslast ab.

Technische Grundregel

Es gibt keine universelle Befehlszeile für niedrige latency.

Ein Produktionsprofil muss Housekeeping-CPUs, Handels-CPUs, SMT-Geschwister, NUMA-Knoten, NIC- und Speicherwarteschlangen, RCU-Threads, workqueues, Zeitquellen und Anwendungsaffinität als Gesamtsystem abbilden.

Leistungseinstellungen von Risikorichtlinien trennen

CPU-Isolation, IRQ-Platzierung und NUMA-Verhalten sind Leistungseinstellungen. Mitigations, LSM, audit, ASLR, watchdog und machine-check-Einstellungen erfordern eine gesonderte Sicherheits- und Betriebsentscheidung.

Die Wirkung prüfen, nicht die Syntax

Ein Parameter kann nicht unterstützt, überflüssig, durch Firmware überschrieben oder später durch Userspace geändert werden. Maßgeblich ist der wirksame Zustand in sysfs, procfs, dmesg, IRQ-Affinität und gemessener latency.

Produktionsprofil auf Anfrage

Exakte Werte werden für Ihren Host und Ihre Arbeitslast erstellt.

HFTKernel Engineering bildet Handels- und Housekeeping-CPUs, SMT-Geschwister, NUMA-Knoten, NIC- und Speicherwarteschlangen, Verwaltungszugriff, Wiederherstellung, Zeitmessung und Sicherheit als Gesamtsystem ab, bevor die Boot-Parameter gewählt werden.

Parameterreferenz

Jede Einstellung, ihre Varianten und ihre betriebliche Wirkung

Suchen Sie nach Parameter, Subsystem, Wert, Risiko oder Prüfbefehl. Die öffentliche Referenz erläutert die Einstellung, ohne einen Produktionswert auszuwählen.

Benötigen Sie die ausgewählten Werte, CPU-Masken und die endgültige Befehlszeile? Diese werden nach einer Topologieprüfung erstellt und nicht als allgemeine Vorlage veröffentlicht.
Exaktes Profil anfordern

Parameter: 5

Booten, Root-Dateisystem, Konsole und Absturzerfassung

Parameter zur Auswahl von Kernel und Root-Dateisystem, zur Festlegung des anfänglichen Mount-Verhaltens, zur Bereitstellung der seriellen Konsole und zur Speicherreservierung für kdump.

BOOT_IMAGE Bootloader-Metadaten; keine latency-Einstellung

Zweck

GRUB hängt dieses Token üblicherweise an, um das gewählte Kernel-Image festzuhalten. Der Upstream-Kernel nutzt es nicht als Tuning-Richtlinie; es dient hauptsächlich der Diagnose und der Zuordnung eines Bootvorgangs zu einem bestimmten Image.

Werte und Varianten

BOOT_IMAGE=/boot/vmlinuz-<version> Pfad im Dateisystemformat, der von vielen GRUB-Konfigurationen verwendet wird.
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-<version> GRUB-Gerätenotation.
omitted Gültig; das gewählte Image wird weiterhin vom Bootloader bestimmt.

Abwägung oder Fehlerszenario

Eine kopierte BOOT_IMAGE-Zeichenfolge kann veraltet oder rein kosmetisch sein. Maßgeblich ist die Identität des laufenden Kernels.

Nach dem Booten prüfen

cat /proc/cmdline
uname -r
cat /proc/version
Permanenter Link
root Auswahl des Root-Geräts durch Kernel/initramfs

Zweck

Wählt das Blockgerät oder die logische Kennung aus, die zum Root-Dateisystem wird. Eine initramfs kann den Wert auflösen, bevor das eigentliche Root-Dateisystem eingehängt wird.

Werte und Varianten

root=UUID=<filesystem-uuid> Stabile Dateisystemkennung; im Allgemeinen einem veränderlichen Gerätenamen vorzuziehen.
root=PARTUUID=<partition-uuid> Stabile Partitionstabellenkennung.
root=LABEL=<label> or root=PARTLABEL=<label> Menschenlesbare Dateisystem- oder Partitionsbezeichnung.
root=/dev/nvme0n1p2 or root=/dev/mapper/<name> Direkter Gerätepfad; einfach, aber die Benennung kann mit der Erkennungsreihenfolge variieren.

Abwägung oder Fehlerszenario

Ein falscher Wert verhindert den Systemstart. Prüfen Sie vor der Bereitstellung, ob die initramfs die erforderlichen Speicher-, LVM-, RAID- oder Verschlüsselungstreiber enthält.

Nach dem Booten prüfen

findmnt -no SOURCE /
blkid
cat /proc/cmdline
Permanenter Link
ro Anfänglicher Mount-Modus des Root-Dateisystems

Zweck

Fordert den Kernel auf, das Root-Dateisystem zunächst schreibgeschützt einzuhängen. Das Init-System führt normalerweise Prüfungen durch und hängt es später mit Schreibzugriff erneut ein.

Werte und Varianten

ro Anfangs schreibgeschützt einhängen.
rw Anfangs mit Lese- und Schreibzugriff einhängen.

Abwägung oder Fehlerszenario

Eine Änderung kann Reparaturen beim frühen Booten und das initramfs-Verhalten beeinflussen; testen Sie Wiederherstellungspfade.

Nach dem Booten prüfen

findmnt -no OPTIONS /
cat /proc/cmdline
Permanenter Link
console Kernel-Konsolenausgabe weiterleiten

Zweck

Steuert, wohin Kernel-Konsolenmeldungen gesendet werden. Werte für serielle Konsolen bestimmen Gerät, Baudrate, Parität und Datenbits; auf unterstützten Plattformen sind auch virtuelle und lokale Konsolenziele verfügbar.

Werte und Varianten

console=tty0 Lokales virtuelles Terminal.
console=ttyS<N>,<baud><parity><bits> 8250-kompatible serielle Konsole; Beispiele sind 115200n8 und 9600n8.
console=hvc0 Virtuelle Hypervisor-Konsole auf unterstützten Gastsystemen.
console=null Konsolenausgabe verwerfen.
multiple console= tokens Kernel-Ausgabe auf mehrere geeignete Konsolen spiegeln; prüfen Sie, welches Gerät zu /dev/console wird.

Abwägung oder Fehlerszenario

Umfangreiche Konsolenausgabe kann teuer sein, besonders auf einem langsamen seriellen Gerät. Steuern Sie Protokollstufe und Rate, statt Wiederherstellungszugriff unüberlegt zu deaktivieren.

Nach dem Booten prüfen

cat /proc/consoles
dmesg | head
stty -F /dev/ttyS0 2>/dev/null || true
Permanenter Link
crashkernel kdump-Speicherreservierung

Zweck

Reserviert Speicher für einen Erfassungskernel, der nach einer panic einen vmcore schreiben kann. Einige Distributionen implementieren den Wert auto, er ist jedoch keine universell portable Upstream-Richtlinie zur Größenfestlegung.

Werte und Varianten

crashkernel=<size> Feste Größe reservieren, zum Beispiel 512M.
crashkernel=<range>:<size>[,<range>:<size>…] Reservierungsgröße anhand des installierten RAM wählen.
crashkernel=<size>,high plus crashkernel=<size>,low Hohe und niedrige Reservierungen auf unterstützten Architekturen aufteilen.
crashkernel=<size>,cma CMA-gestützte Reservierung verwenden, sofern unterstützt.
crashkernel=auto Distributionsspezifische automatische Größenfestlegung; Unterstützung im Zielkernel und den Boot-Werkzeugen bestätigen.
omitted Keine Reservierung für den Erfassungskernel; kdump kann keinen vmcore erfassen.

Abwägung oder Fehlerszenario

Reservierter RAM steht dem primären Kernel nicht zur Verfügung. Ein zu klein bemessener Erfassungskernel versagt gerade dann, wenn er am dringendsten benötigt wird.

Nach dem Booten prüfen

grep -i "Crash kernel" /proc/iomem
systemctl status kdump 2>/dev/null || systemctl status kdump-tools 2>/dev/null || true
dmesg | grep -i crashkernel
Permanenter Link

Parameter: 5

CPU-Leerlauf, Frequenz und Topologie

Einstellungen für C-states, P-states, Energy Performance Bias und Simultaneous Multithreading.

intel_idle.max_cstate Auswahl und Tiefe des Intel-cpuidle-Treibers

Zweck

Steuert den tiefsten von intel_idle angebotenen Leerlaufzustand. Der Wert 0 deaktiviert intel_idle und fällt auf einen anderen Idle-Treiber zurück, meist acpi_idle; er garantiert allein nicht, dass die CPU in C0 bleibt.

Werte und Varianten

0 intel_idle deaktivieren und auf die Plattformalternative zurückfallen.
1 Nur den flachsten intel_idle-Zustand anbieten.
2–9 Je nach CPU-Unterstützung zunehmend tiefere Zustände bis zum gewählten Treiberindex erlauben.
omitted Treiberstandard und Zustandstabelle der Plattform verwenden.

Abwägung oder Fehlerszenario

Flacher Leerlauf verbessert die Gleichmäßigkeit beim Aufwachen, erhöht aber Stromverbrauch, Wärme, Lüfterbedarf und möglicherweise den Druck auf die dauerhaft haltbare Frequenz.

Nach dem Booten prüfen

cat /sys/devices/system/cpu/cpuidle/current_driver
grep -H . /sys/devices/system/cpu/cpu0/cpuidle/state*/name 2>/dev/null
turbostat --quiet --show CPU,c1,c3,c6,c7 2>/dev/null || true
Permanenter Link
processor.max_cstate Grenze für ACPI-Prozessor-Leerlaufzustände

Zweck

Begrenzt den tiefsten ACPI-Leerlaufzustand, den der Processor-Idle-Treiber registriert. Dies ist vor allem relevant, wenn acpi_idle aktiv ist, auch wenn ein anderer Idle-Treiber deaktiviert wurde oder nicht verfügbar ist.

Werte und Varianten

0 Im aktuellen Upstream-Code durchläuft kein ACPI-C-state die Registrierungsschleife; das resultierende Rückfallverhalten muss auf der Zielplattform geprüft werden.
1 Auf C1 begrenzen.
2–8 ACPI-Zustände bis zur gewählten Tiefe erlauben, sofern die Firmware sie anbietet.
9 or another value above the normal limit Kann manche DMI-Sperrlistengrenzen überschreiben; dies ist keine latency-Empfehlung.
omitted Firmware- und Treiberstandards verwenden.

Abwägung oder Fehlerszenario

Der Wert 0 kann plattformspezifisches Rückfallverhalten auslösen. Behandeln Sie ihn nicht als portables Synonym für „nur C0“.

Nach dem Booten prüfen

cat /sys/devices/system/cpu/cpuidle/current_driver
grep -H . /sys/devices/system/cpu/cpu0/cpuidle/state*/name 2>/dev/null
cat /sys/module/processor/parameters/max_cstate 2>/dev/null || true
Permanenter Link
intel_pstate Modus des Intel-Treibers zur CPU-Frequenzskalierung

Zweck

Wählt den Betriebsmodus des Frequenzskalierungstreibers intel_pstate oder verhindert dessen Laden. Der gewählte Modus verändert Steuerungssemantik, HWP-Verhalten und verfügbare governors.

Werte und Varianten

disable intel_pstate nicht aktivieren.
active Aktiven intel_pstate-Modus und dessen interne performance-/powersave-Algorithmen verwenden.
passive intel_pstate als Skalierungstreiber unter generischen cpufreq-governors verwenden.
force intel_pstate auf ansonsten ausgeschlossenen Systemen erzwingen; Temperatur- und Energiesteuerung der Plattform können beeinträchtigt werden.
no_hwp Hardware P-states nicht aktivieren.
hwp_only Nur laden, wenn HWP verfügbar ist.
support_acpi_ppc ACPI-_PPC-Grenzen beachten.
per_cpu_perf_limits Leistungsgrenzen je logischer CPU bereitstellen.
no_cas Kapazitätsbewusstes Scheduling auf hybriden Systemen deaktivieren.

Abwägung oder Fehlerszenario

Eine festgelegte Maximalfrequenzrichtlinie kann thermische Drosselung verstärken und die dauerhaft haltbare Leistung aller Kerne reduzieren. Messen Sie Frequenzverweildauer und tail latency gemeinsam.

Nach dem Booten prüfen

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 2>/dev/null
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 2>/dev/null
cpupower frequency-info 2>/dev/null || true
Permanenter Link
epb Nicht standardmäßiges Boot-Token; Intel Energy Performance Bias wird normalerweise über sysfs oder x86_energy_perf_policy konfiguriert

Zweck

Repräsentiert eine Energy-Performance-Bias-Richtlinie in Kernel-Bäumen oder Boot-Werkzeugen, die das Token ausdrücklich auswerten. Upstream-Linux stellt Intel EPB normalerweise pro CPU über energy_perf_bias bereit und definiert epb= nicht als allgemeinen Kernel-Befehlszeilenparameter.

Werte und Varianten

0 Maximale Leistungspräferenz in der EPB-Schnittstelle.
1–14 Mittlere Abwägung zwischen Leistung und Energieverbrauch.
15 Maximale Energiesparpräferenz.
performance, balance-performance, normal, balance-power, power Benannte Werte, die die sysfs-Schnittstelle pro CPU auf unterstützten Kerneln akzeptiert.

Abwägung oder Fehlerszenario

Firmware, Suspend/Resume, CPU-Hotplug oder ein Energieverwaltungsdienst können EPB überschreiben. Behandeln Sie die gewählte Richtlinie als verwalteten Laufzeitzustand und prüfen Sie sie fortlaufend.

Nach dem Booten prüfen

grep -H . /sys/devices/system/cpu/cpu*/power/energy_perf_bias 2>/dev/null
x86_energy_perf_policy --debug 2>/dev/null | head -n 40 || true
dmesg | grep -i "unknown kernel command line.*epb" || true
Permanenter Link
nosmt Steuerung von Simultaneous Multithreading

Zweck

Deaktiviert sekundäre SMT-Threads, sodass jeder physische Kern höchstens eine aktive logische CPU bereitstellt. Dies kann Konkurrenz zwischen Geschwisterthreads um Ausführungseinheiten, Caches und einige Interrupt-Pfade reduzieren.

Werte und Varianten

nosmt SMT beim Booten deaktivieren; eine erneute Aktivierung zur Laufzeit kann möglich bleiben, wenn Plattform und Kernel dies erlauben.
nosmt=force SMT zwangsweise deaktivieren und die erneute Aktivierung zur Laufzeit verhindern.
omitted Firmware- und Kernel-Standards verwenden.

Abwägung oder Fehlerszenario

Das Deaktivieren von SMT reduziert die logische CPU-Kapazität und kann mehr Hintergrundarbeit auf weniger Housekeeping-CPUs verlagern.

Nach dem Booten prüfen

cat /sys/devices/system/cpu/smt/control
cat /sys/devices/system/cpu/smt/active
lscpu -e=CPU,CORE,SOCKET,ONLINE
Permanenter Link

Parameter: 6

Tick-Verhalten, CPU-Isolation, IRQ-Platzierung und RCU

Die zentrale Gruppe zur latency-Steuerung: full-dynticks-CPUs, Scheduler-Domain-Isolation, Housekeeping-Affinität, Timer-Versatz und RCU callback offload.

nohz Unterdrückung von Leerlauf-Ticks

Zweck

Steuert das tickless-idle-Verhalten des Kernels, sofern er mit der erforderlichen NO_HZ-Unterstützung erstellt wurde. Im aktivierten Modus können untätige CPUs den periodischen Scheduler-Tick stoppen.

Werte und Varianten

on Tickless idle aktivieren, sofern unterstützt.
off Tickless idle deaktivieren und periodische Ticks beibehalten.
omitted Standard der Kernel-Konfiguration verwenden.

Abwägung oder Fehlerszenario

Der Parameter hat keine Wirkung, wenn dem laufenden Kernel die entsprechende Unterstützung bei der Kompilierung fehlt.

Nach dem Booten prüfen

grep -E "CONFIG_NO_HZ(_IDLE|_FULL)?=" /boot/config-$(uname -r) 2>/dev/null
cat /proc/cmdline
Permanenter Link
skew_tick Phasenverteilung periodischer Ticks pro CPU

Zweck

Steuert, ob periodische Tick-Aktivität über CPUs versetzt wird, statt alle CPU-Ticks gleichzeitig auszulösen. Die Funktion kann Lock-Konkurrenz und synchronisierte Störungen auf großen Systemen reduzieren.

Werte und Varianten

0 Periodische Ticks nicht absichtlich versetzen.
1 Tick-Phasen über CPUs verteilen.

Abwägung oder Fehlerszenario

Der Nachteil ist höherer Stromverbrauch, da sich die Gelegenheiten für den Leerlauf des gesamten CPU-Packages verringern können.

Nach dem Booten prüfen

cat /proc/cmdline
trace-cmd record -e timer -e irq -e sched sleep 5 2>/dev/null || true
Permanenter Link
irqaffinity Standardmaske für IRQ-Affinität

Zweck

Legt die Standard-CPU-Liste für IRQs fest, denen keine spezifischere Affinitätsrichtlinie zugewiesen wird. Die gewählte CPU-Maske bestimmt, wo die Behandlung ansonsten nicht zugewiesener Interrupts beginnt.

Werte und Varianten

irqaffinity=<cpu-list> Durch Kommas getrennte CPUs und Bereiche, zum Beispiel 0,4-7.
omitted Standard-Affinitätsmaske der Architektur/des Kernels verwenden.

Abwägung oder Fehlerszenario

CPU 0 kann zum Engpass werden. Verwaltete MSI-X-Interrupts folgen der Standardmaske möglicherweise anders als gewöhnliche IRQs.

Nach dem Booten prüfen

cat /proc/irq/default_smp_affinity
grep -H . /proc/irq/*/smp_affinity_list 2>/dev/null | head -n 80
cat /proc/interrupts
Permanenter Link
isolcpus Isolation von Scheduler-Domains und verwalteten IRQs

Zweck

Wählt CPUs und Isolationsflags für das Entfernen aus Scheduler-Domains, full-dynticks-Verhalten und die Vermeidung verwalteter IRQs. Domain-Isolation ist eine Boot-Entscheidung, die bis zum nächsten Neustart unumkehrbar ist.

Werte und Varianten

isolcpus=<cpu-list> Veraltete Form; Domain-Isolation ist implizit.
isolcpus=domain,<cpu-list> CPUs aus den Lastverteilungsdomänen des Schedulers entfernen.
isolcpus=nohz,<cpu-list> Full-dynticks-Isolationsverhalten für die CPUs aktivieren.
isolcpus=managed_irq,<cpu-list> Ausschluss aus verwalteten IRQ-Masken nach Möglichkeit, wenn Housekeeping-CPUs verfügbar sind.
combined flags Beispiel: domain,nohz,managed_irq,2-15.

Abwägung oder Fehlerszenario

Isolation verschiebt Kernel-Threads, workqueues, Gerätewarteschlangen, Timer oder Anwendungsthreads nicht automatisch. Sie ist ein Bestandteil eines vollständigen Housekeeping-Konzepts.

Nach dem Booten prüfen

cat /sys/devices/system/cpu/isolated
cat /sys/devices/system/cpu/nohz_full
taskset -pc $$
cat /proc/interrupts
Permanenter Link
nohz_full Full-dynticks-CPU-Satz

Zweck

Stoppt den periodischen Scheduler-Tick auf den aufgeführten CPUs, während sie eine geeignete Arbeitslast ausführen, und reduziert wiederkehrende Kernel-Unterbrechungen. Mindestens eine Housekeeping-CPU bleibt außerhalb des Satzes; die Boot-CPU wird automatisch ausgeschlossen.

Werte und Varianten

nohz_full=<cpu-list> Full-dynticks-CPUs auswählen, zum Beispiel 2-15,18-31.
nohz_full=all Alle möglichen CPUs anfordern; der Kernel behält trotzdem erforderliche Housekeeping-CPUs bei.
omitted Keine beim Booten ausgewählten full-dynticks-CPUs.

Abwägung oder Fehlerszenario

Eine aufgeführte CPU kann weiterhin Interrupts, Kernel-Thread-Arbeit, Seitenfehler, TLB shootdowns und CPU-übergreifende Aufrufe erhalten, sofern diese Pfade nicht gesondert kontrolliert werden.

Nach dem Booten prüfen

cat /sys/devices/system/cpu/nohz_full
cat /proc/cmdline
grep -E "CONFIG_NO_HZ_FULL=|CONFIG_RCU_NOCB_CPU=" /boot/config-$(uname -r) 2>/dev/null
Permanenter Link
rcu_nocbs RCU callback offload

Zweck

Verlagert den Aufruf von RCU-Callbacks von ausgewählten CPUs in dedizierte kthreads. Ein Token ohne Wert wählt beim Booten keine CPUs aus; eine explizite CPU-Liste oder ein kompatibler Laufzeitmechanismus ist erforderlich.

Werte und Varianten

rcu_nocbs=<cpu-list> Callbacks für die aufgeführten CPUs auslagern, zum Beispiel rcu_nocbs=1-3.
rcu_nocbs with no argument Keine CPUs beim Booten ausgewählt; geeignete CPUs können später über cpusets-/Laufzeitschnittstellen umgeschaltet werden.
rcu_nocb_poll Nocb-kthreads per Polling arbeiten lassen, statt von Aufweckvorgängen abzuhängen; kann die Aufwach-latency bei erheblichen Energiekosten reduzieren.
omitted Normale Callback-Platzierung verwenden; ausgenommen sind nohz_full-CPUs, deren Callbacks aktuelle Kernel automatisch auslagern.

Abwägung oder Fehlerszenario

Auslagerung verschiebt Arbeit, beseitigt sie aber nicht. Zu knapp bemessene Housekeeping-CPUs können Callback-Rückstände aufbauen und systemweite Blockaden verursachen.

Nach dem Booten prüfen

ps -eLo pid,tid,psr,cls,rtprio,comm | grep -E "rcuo|rcuc"
grep -E "rcu_nocbs|nohz_full" /proc/cmdline
cat /sys/devices/system/cpu/nohz_full
Permanenter Link

Parameter: 4

Clocksource, PCIe-Energierichtlinie und Plattform-Workarounds

Einstellungen für Zeitmessung und Plattform, die Aufwach-latency, periodische Arbeit und die Vorhersehbarkeit von Gerätepfaden beeinflussen können.

pcie_aspm.policy Richtlinie für PCI Express Active State Power Management

Zweck

Wählt die PCIe-Active-State-Power-Management-Richtlinie. Die verfügbaren Richtlinien wägen die Aufwach-latency der Verbindung gegen den Energieverbrauch der Plattform ab, abhängig von der Firmware- und Kernel-Steuerung jeder Verbindung.

Werte und Varianten

default Firmware-/Standardrichtlinie verwenden.
performance Leistung priorisieren und ASPM/Clock PM gemäß Kernel-Richtlinie deaktivieren.
powersave Energiesparende Verbindungszustände mit einer ausgewogenen Richtlinie aktivieren.
powersupersave Die aggressivste verfügbare Energiesparrichtlinie verwenden.

Abwägung oder Fehlerszenario

Der Stromverbrauch steigt, und einige firmwaregesteuerte Verbindungen folgen möglicherweise nicht der angeforderten Richtlinie.

Nach dem Booten prüfen

cat /sys/module/pcie_aspm/parameters/policy 2>/dev/null
lspci -vv | grep -E "LnkCap:|LnkCtl:" | head -n 80
Permanenter Link
acpi_pad.disable Versions-/herstellerspezifische Steuerung des ACPI Processor Aggregator

Zweck

Steuert einen Kernel-Baum-spezifischen ACPI-Processor-Aggregator-Schalter, der Idle-Injection-Arbeit verhindern soll. Der aktuelle Upstream-Code von acpi_pad bietet diesen Modulparameter möglicherweise nicht an; die Unterstützung muss daher im exakten Kernel und in der Distribution geprüft werden.

Werte und Varianten

acpi_pad.disable=1 Nur von Kernel-Bäumen unterstützt, die diesen Modulparameter anbieten.
acpi_pad.disable=0 Aktiviertes/Standardverhalten in Bäumen, die den Parameter implementieren.
driver/module blacklist policy Portable betriebliche Alternative, wenn der Treiber modular und nachweislich nicht erforderlich ist.

Abwägung oder Fehlerszenario

Das Entfernen der Energieverwaltungsfunktion der Plattform kann Firmware-Erwartungen beeinträchtigen. Validieren Sie am exakten Servermodell und an der BIOS-Revision.

Nach dem Booten prüfen

ls -la /sys/module/acpi_pad/parameters 2>/dev/null || true
grep -w acpi_pad /proc/modules 2>/dev/null || true
dmesg | grep -i "unknown kernel command line.*acpi_pad" || true
Permanenter Link
clocksource Auswahl der Kernel-Zeitquelle

Zweck

Wählt eine benannte Kernel-clocksource. Auf modernen invarianten, synchronisierten Systemen kann TSC geringen Lese-Overhead und hohe Auflösung bieten; andere Plattformen benötigen möglicherweise eine andere validierte Quelle.

Werte und Varianten

clocksource=tsc TSC erzwingen, wenn der Kernel es als verfügbar betrachtet.
clocksource=hpet HPET verwenden, sofern verfügbar; oft höherer Lese-Overhead.
clocksource=acpi_pm ACPI-PM-Timer verwenden, sofern verfügbar.
clocksource=kvm-clock, hyperv_clocksource, xen, or another listed source Hypervisor-/plattformspezifische Optionen.
omitted Den Kernel die am besten bewertete stabile Quelle wählen lassen.

Abwägung oder Fehlerszenario

Fügen Sie tsc=reliable nicht nur hinzu, um Warnungen zu unterdrücken. Diese gesonderte Überschreibung deaktiviert Stabilitätsprüfungen und ist nur bei validierten Plattformgarantien angemessen.

Nach dem Booten prüfen

cat /sys/devices/system/clocksource/clocksource0/current_clocksource
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
dmesg | grep -Ei "clocksource|tsc"
Permanenter Link
no_timer_check Workaround für die Prüfung der x86-Timer-IRQ-Quelle

Zweck

Deaktiviert eine Boot-Prüfung, die fehlerhaftes Timer-Interrupt-Routing erkennen soll. Dies ist ein Kompatibilitäts-Workaround für bestimmte Hardware- oder VM-Umgebungen, keine allgemeine latency-Optimierung.

Werte und Varianten

no_timer_check Prüfung des Timer-Routings überspringen.
omitted Normale Kernel-Timer-Prüfungen ausführen.

Abwägung oder Fehlerszenario

Das Unterdrücken einer Diagnose kann ein Timer-Routing-Problem der Plattform verbergen, das später als verlorene Ticks oder instabile Zeitmessung auftritt.

Nach dem Booten prüfen

cat /proc/cmdline
dmesg | grep -Ei "timer.*check|timer.*irq|APIC timer"
Permanenter Link

Parameter: 9

Sicherheit, Auditierung, Watchdogs und Machine Checks

Schalter mit weitreichenden Auswirkungen, die Sicherheit oder Fehlerdiagnose gegen geringeren Overhead eintauschen. Sie erfordern eine ausdrückliche Risikoentscheidung für den Produktivbetrieb.

selinux SELinux-Initialisierung

Zweck

Steuert, ob SELinux initialisiert wird und welcher Richtlinienmodus beim Booten verwendet wird. Das Deaktivieren der Initialisierung entfernt die Richtliniendurchsetzung und SELinux-Audit-Hooks aus dem aktiven System.

Werte und Varianten

selinux=0 SELinux beim Booten deaktivieren.
selinux=1 or omitted SELinux-Initialisierung zulassen, wenn einkompiliert und konfiguriert.
enforcing=0 Verwandte Alternative: SELinux im permissive-Modus initialisieren, sodass Verweigerungen protokolliert, aber nicht durchgesetzt werden.
enforcing=1 Im enforcing-Modus starten, sofern die Richtlinie dies unterstützt.

Abwägung oder Fehlerszenario

selinux=0 ist eine Sicherheitsentscheidung, keine allgemeine HFT-Anforderung. Die erneute Aktivierung erfordert normalerweise einen Neustart und möglicherweise eine erneute Kennzeichnung des Dateisystems.

Nach dem Booten prüfen

getenforce 2>/dev/null || true
sestatus 2>/dev/null || true
cat /sys/fs/selinux/enforce 2>/dev/null || true
Permanenter Link
nosoftlockup Soft-lockup-Erkennung

Zweck

Deaktiviert den Watchdog, der CPUs meldet, die zu lange den Watchdog-Thread nicht einplanen.

Werte und Varianten

nosoftlockup Soft-lockup-Erkennung deaktivieren.
omitted Konfigurierte Watchdog-Richtlinie verwenden.
watchdog_thresh=<seconds> Verwandte Abstimmung: Erkennungsschwelle für lockups ändern, statt die Erkennung zu deaktivieren.

Abwägung oder Fehlerszenario

Ohne diese Erkennung kann eine blockierte CPU unbemerkt bleiben, bis eine externe Zustandsprüfung oder ein Hardware-Watchdog eingreift.

Nach dem Booten prüfen

cat /proc/sys/kernel/watchdog 2>/dev/null
cat /proc/sys/kernel/soft_watchdog 2>/dev/null || true
dmesg | grep -i watchdog
Permanenter Link
mitigations Richtlinie zur Abwehr von CPU-Schwachstellen

Zweck

Wählt eine Richtlinie zur Abwehr von CPU-Schwachstellen. Verfügbare Modi wägen Overhead durch Kontextwechsel und Spekulationssteuerung gegen Schutz vor zutreffenden Hardware-Schwachstellen ab.

Werte und Varianten

off Alle optionalen mitigations deaktivieren.
auto Mitigations entsprechend dem CPU-Schwachstellenstatus und den Kernel-Standards aktivieren.
auto,nosmt Automatische mitigations plus SMT-Deaktivierung, wo erforderlich.
omitted Einkompilierte/Standardrichtlinie verwenden.

Abwägung oder Fehlerszenario

Je nach CPU können dadurch Daten von Kernel, Prozessen, VMs und anderen Threads offengelegt werden. Der latency-Gewinn hängt von Hardware und Arbeitslast ab.

Nach dem Booten prüfen

grep . /sys/devices/system/cpu/vulnerabilities/*
cat /proc/cmdline
dmesg | grep -i mitigation
Permanenter Link
audit Startzustand des Linux-Audit-Subsystems

Zweck

Steuert, ob das Audit-Subsystem des Kernels beim Booten aktiviert ist. Der gewählte Zustand beeinflusst den Overhead der Ereigniserzeugung und die verfügbaren Nachweise für Sicherheit, Compliance und Vorfallsreaktion.

Werte und Varianten

audit=0 or audit=off Audit für diesen Systemstart deaktivieren; ohne Neustart kann es später nicht vollständig aktiviert werden.
audit=1 or audit=on Audit beim Booten aktivieren.
omitted Konfigurierten Standard von Kernel/Distribution verwenden.

Abwägung oder Fehlerszenario

Das Deaktivieren von Audit kann Anforderungen an Compliance, Vorfallsreaktion und Forensik verletzen.

Nach dem Booten prüfen

auditctl -s 2>/dev/null || true
cat /proc/cmdline
dmesg | grep -i "audit.*enabled"
Permanenter Link
mce Behandlung von x86 machine-check

Zweck

Steuert die Behandlung von x86 Machine Check Exceptions und das zugehörige Wiederherstellungsverhalten. Die Deaktivierung entfernt asynchrone Hardwarefehlermeldungen sowie kritische Telemetrie für CPU-, Speicher- und Verbindungsfehler.

Werte und Varianten

off Machine-check-Behandlung deaktivieren.
no_cmci Interrupt-Behandlung korrigierter Fehler deaktivieren und Polling verwenden, sofern unterstützt.
dont_log_ce Korrigierte Fehler nicht protokollieren.
ignore_ce Korrigierte Fehler ignorieren.
no_lmce Unterstützung für Local Machine Check Exception deaktivieren.
bootlog or nobootlog Protokollierung der beim Booten gefundenen machine checks auf unterstützenden Kerneln steuern.
omitted Normale machine-check-Behandlung verwenden.

Abwägung oder Fehlerszenario

Das Deaktivieren von MCE kann eine diagnostizierbar verschlechterte Komponente in unbemerkte Datenkorruption, unerklärte Neustarts oder nicht nachvollziehbare latency-Spitzen verwandeln.

Nach dem Booten prüfen

dmesg | grep -Ei "mce|machine check|hardware error"
ls /sys/devices/system/machinecheck 2>/dev/null || true
systemctl status rasdaemon 2>/dev/null || true
Permanenter Link
nomce Veralteter x86-32-machine-check-Schalter

Zweck

Deaktiviert die Unterstützung für Machine Check Exception auf 32-Bit-x86-Kerneln. Dies ist nicht die normale x86-64-Einstellung und kann überflüssig sein, wenn bereits eine andere machine-check-Richtlinie gewählt wurde.

Werte und Varianten

nomce MCE auf unterstützten 32-Bit-x86-Builds deaktivieren.
omitted Normale Architekturrichtlinie verwenden.

Abwägung oder Fehlerszenario

Überflüssige oder für die Architektur unzutreffende Tokens erschweren die Prüfung einer Boot-Konfiguration und können falsche Annahmen verdecken.

Nach dem Booten prüfen

uname -m
cat /proc/cmdline
dmesg | grep -Ei "mce|machine check"
Permanenter Link
norandmaps Adressraumrandomisierung im Userspace

Zweck

Deaktiviert Userspace-ASLR, entsprechend kernel.randomize_va_space=0. Virtuelle Adressen werden wiederholbarer, der Schutz gegen Exploits wird jedoch erheblich geschwächt.

Werte und Varianten

norandmaps Adressraumrandomisierung im Userspace deaktivieren.
omitted Sysctl-/Standard-ASLR-Richtlinie verwenden.
kernel.randomize_va_space=0, 1, or 2 Laufzeit-/sysctl-Richtlinie: deaktiviert, konservative Randomisierung oder vollständige Randomisierung.

Abwägung oder Fehlerszenario

Dies schwächt auf dem gesamten Host den Schutz vor Exploits durch Speicherbeschädigung.

Nach dem Booten prüfen

sysctl kernel.randomize_va_space
cat /proc/cmdline
Permanenter Link
nowatchdog Hauptschalter für Kernel-lockup-Watchdogs

Zweck

Deaktiviert sowohl Hard-lockup- als auch Soft-lockup-Watchdogs. Gesonderte, enger gefasste Schalter zur Watchdog-Deaktivierung können deshalb überflüssig werden, wenn dieses Flag vorhanden ist.

Werte und Varianten

nowatchdog Kernel-lockup-Watchdogs deaktivieren.
omitted Konfigurierte Watchdog-Richtlinie verwenden.
watchdog_thresh=<seconds> Verwandte Alternative: Erkennung beibehalten, aber die Schwelle erhöhen.

Abwägung oder Fehlerszenario

Ein Hard- oder Soft-lockup kann ohne Kernel-Meldung anhalten. Stellen Sie sicher, dass ein anderer unabhängiger Mechanismus zur Lebenszeichenprüfung erhalten bleibt.

Nach dem Booten prüfen

cat /proc/sys/kernel/watchdog 2>/dev/null
cat /proc/sys/kernel/nmi_watchdog 2>/dev/null
dmesg | grep -i watchdog
Permanenter Link
nmi_watchdog NMI-Watchdog für Hard-lockups

Zweck

Steuert die NMI-basierte Hard-lockup-Erkennung und auf unterstützten x86-Systemen deren periodische Leistungszähleraktivität.

Werte und Varianten

0 NMI-Watchdog deaktivieren.
1 NMI-Watchdog aktivieren, sofern unterstützt.
omitted Standard von Kernel/Distribution verwenden.

Abwägung oder Fehlerszenario

Die Deaktivierung entfernt ein wichtiges Signal für CPUs, die keine normalen Interrupts mehr verarbeiten.

Nach dem Booten prüfen

cat /proc/sys/kernel/nmi_watchdog
dmesg | grep -i "NMI watchdog"
Permanenter Link

Parameter: 3

NUMA- und IOMMU-Verhalten

Steuert automatische Seitenmigration und DMA-Übersetzungsrichtlinien für stabile Lokalität und vorhersehbare Gerätepfade.

numa_balancing Automatische NUMA-Seitenmigration

Zweck

Steuert automatisches NUMA balancing, das Speicherzugriffe durch periodischen Seitenschutz abtastet und Aufgaben oder Seiten migrieren kann. Der gewählte Zustand wägt automatische Lokalitätskorrektur gegen Störungen durch Seitenfehler und Migration ab.

Werte und Varianten

disable Automatisches NUMA balancing deaktivieren.
enable Automatisches NUMA balancing aktivieren.
omitted Standard von Kernel/Distribution verwenden.

Abwägung oder Fehlerszenario

Bei deaktiviertem automatischem Balancing bleibt eine ungünstige Anwendungsplatzierung ungünstig. Binden Sie den Speicher explizit und prüfen Sie Zähler für Fernzugriffe.

Nach dem Booten prüfen

sysctl kernel.numa_balancing
numactl --hardware
numastat -p $$ 2>/dev/null || true
Permanenter Link
intel_iommu Intel-DMAR-/IOMMU-Initialisierung

Zweck

Steuert Intel-IOMMU-Initialisierung und zugehörige DMA- oder Interrupt-Remapping-Funktionen, abhängig von Hardware- und Firmware-Unterstützung.

Werte und Varianten

on Intel-IOMMU-Treiber aktivieren.
off Deaktivieren.
igfx_off DMAR-Einheit der integrierten Grafik umgehen.
sp_off IOMMU-superpage-Unterstützung deaktivieren.
sm_on or sm_off Intel scalable mode erlauben oder verbieten.
strict Veraltete treiberspezifische Anforderung, gleichbedeutend mit iommu.strict=1.
tboot_noforce Nicht zulassen, dass tboot die IOMMU erzwingt; verringert den Schutz gegen DMA-Angriffe.

Abwägung oder Fehlerszenario

Firmwarefehler und Übersetzungsrichtlinien können Geräte-latency oder Stabilität beeinflussen. Validieren Sie jede Server-/BIOS-Generation.

Nach dem Booten prüfen

dmesg | grep -Ei "DMAR|IOMMU"
find /sys/kernel/iommu_groups -maxdepth 1 -type d 2>/dev/null | head
lspci -vv | grep -i "IOMMU\|ATS" | head -n 40
Permanenter Link
iommu Standardrichtlinie für DMA passthrough

Zweck

Wählt die Standard-IOMMU-Domain-Richtlinie für gewöhnliche Geräte. Passthrough oder Identitätsabbildung können den DMA-Übersetzungs-Overhead für vertrauenswürdige Geräte reduzieren, während übersetzte Domains eine stärkere Isolation bieten.

Werte und Varianten

iommu=pt Passthrough-Modus als Standard verwenden.
iommu=nopt Übersetzten DMA-Modus als Standard verwenden.
iommu.passthrough=1 Moderne explizite Passthrough-Steuerung.
iommu.passthrough=0 IOMMU-Übersetzung standardmäßig verwenden.
iommu.strict=0 or 1 Zugehörige Invalidierungsrichtlinie im übersetzten Modus: lazy oder strict.
iommu=off, force, noforce, soft, merge, nomerge Architekturspezifische allgemeine Einstellungen; keine direkten Synonyme für passthrough.

Abwägung oder Fehlerszenario

Passthrough schwächt die DMA-Isolation. Ein fehlerhaftes oder kompromittiertes Gerät kann auf Hostspeicher außerhalb seiner vorgesehenen Puffer zugreifen.

Nach dem Booten prüfen

dmesg | grep -Ei "IOMMU.*(passthrough|Default domain)|DMAR"
find /sys/kernel/iommu_groups -maxdepth 2 -type l 2>/dev/null | head -n 40
Permanenter Link

Parameter: 3

Netzwerkbenennung und NVMe-Wiederherstellungsrichtlinie

Userspace-Verhalten zur NIC-Benennung und Speicher-Timeout-/Wiederholungseinstellungen, die festlegen, wie schnell Fehler sichtbar werden.

net.ifnames Richtlinie für vorhersehbare Schnittstellenbenennung in systemd/udev

Zweck

Steuert vorhersehbare Schnittstellenbenennung in systemd/udev. Durch Deaktivierung können traditionelle Namen wie eth0 wiederhergestellt werden, sofern die Distribution dies erlaubt; es ist eine über die Kernel-Befehlszeile übergebene Userspace-Konvention, kein Schalter für Netzwerk-latency.

Werte und Varianten

0 Vorhersehbare NamePolicy deaktivieren.
1 or omitted Vorhersehbare Benennung gemäß aktivem systemd-Benennungsschema und .link-Richtlinie erlauben.

Abwägung oder Fehlerszenario

Die traditionelle ethX-Reihenfolge kann sich ändern, wenn sich Hardware, Firmware oder Erkennungsreihenfolge ändern. Eine falsche Schnittstellenidentität ist gefährlicher als jede Namenspräferenz.

Nach dem Booten prüfen

ip -br link
udevadm test-builtin net_id /sys/class/net/$(ls /sys/class/net | head -n1) 2>/dev/null | head -n 40 || true
cat /proc/cmdline
Permanenter Link
nvme_core.io_timeout NVMe-I/O-Befehls-Timeout in Sekunden

Zweck

Legt den Eingabewert für das NVMe-I/O-Timeout in Sekunden fest. Aktueller Upstream-Code speichert den Modulparameter als vorzeichenlose Ganzzahl mit Standardwert 30 und wandelt ihn dann in den Block-Layer-Timeout in jiffies um; daher muss der wirksame Warteschlangen-Timeout nach dem Booten geprüft werden.

Werte und Varianten

30 Aktueller Upstream-Standard in Sekunden; Zielkernel prüfen.
a finite positive integer Expliziter Timeout in Sekunden.
4294967295 Maximaler vorzeichenloser 32-Bit-Eingabewert, kein Unendlichkeits-Token. Der Treiberausdruck nvme_io_timeout * HZ kann überlaufen, bevor er zum wirksamen Anfrage-Timeout wird; auf einem 1000 Hz-Kernel kann dieser Wert etwa 49.7 Tage statt 136 Jahre ergeben.

Abwägung oder Fehlerszenario

Ein sehr großer oder übergelaufener Timeout kann I/O unerwartet lange blockieren und Reset, Failover oder Anwendungswiederherstellung verzögern. Betrachten Sie den in /sys/block/<device>/queue/io_timeout beobachteten Wert als maßgebliche Vorgabe.

Nach dem Booten prüfen

cat /sys/module/nvme_core/parameters/io_timeout
grep -H . /sys/block/nvme*/queue/io_timeout 2>/dev/null || true
grep '^CONFIG_HZ=' /boot/config-$(uname -r) 2>/dev/null || true
nvme list 2>/dev/null || true
dmesg | grep -i nvme
Permanenter Link
nvme_core.max_retries Maximale Anzahl von NVMe-Befehlswiederholungen

Zweck

Legt die maximale Anzahl von Wiederholungen für geeignete NVMe-Befehle fest. Aktueller Upstream-Code speichert sie als vorzeichenloses Byte mit Standardwert 5.

Werte und Varianten

0 Geeignete Befehle nicht wiederholen.
1–255 Maximale Wiederholungszahl; 10 verdoppelt den aktuellen Upstream-Standard.
omitted Kernel-Standard verwenden.

Abwägung oder Fehlerszenario

Mehr Wiederholungen können tail latency verlängern und Failover verzögern. Weniger Wiederholungen können vorübergehende Medien- oder Transportfehler früher sichtbar machen.

Nach dem Booten prüfen

cat /sys/module/nvme_core/parameters/max_retries
dmesg | grep -Ei "nvme.*(retry|timeout|reset)"
Permanenter Link

So werden Profile entwickelt

Fünf Ebenen hinter einem exakten Produktions-Boot-Profil

Ein wartbares Profil trennt unveränderliche Plattformentscheidungen von topologiespezifischen CPU-Listen und risikoreichen Sicherheitsüberschreibungen. HFTKernel bewertet diese Ebenen gemeinsam und liefert dann eine prüfbare, testbare und umkehrbare Konfiguration.

01
Booten und Wiederherstellung

Root-Gerät, anfänglicher Mount-Modus, serielle Konsole und getestete kdump-Reservierung.

02
Deterministisches Plattformverhalten

Idle-Treiber, Frequenzrichtlinie, PCIe ASPM, clocksource, NUMA- und IOMMU-Richtlinie.

03
Topologie

Housekeeping-CPUs, full-dynticks-CPUs, RCU offload, Standard-IRQ-Maske, Warteschlangenaffinität und Anwendungs-cpusets.

04
Durchsetzung zur Laufzeit

Workqueue-Masken, Kernel-Thread-Affinität, EPB-/governor-Richtlinie, NIC-Warteschlangen, Speicherbindung und CPU affinity der Dienste.

05
Risikokontrollen

Sicherheits-mitigations, LSM, audit, ASLR, watchdog und machine-check-Richtlinie werden unabhängig geprüft.

Prüfung nach dem Booten

Vor der latency-Messung den wirksamen Zustand bestätigen

Die Befehlszeile ist nur eine Eingabe. Diese Checkliste bestätigt laufenden Kernel, CPU-Topologie, full-dynticks-Satz, IRQ-Platzierung, clocksource, Energierichtlinie, IOMMU, Sicherheitszustand und NVMe-Wiederherstellungsrichtlinie.

Nur lesende Prüfsequenz
printf '%s\n' '== kernel and cmdline =='
uname -a
cat /proc/cmdline

printf '%s\n' '== CPU topology and isolation =='
lscpu -e=CPU,CORE,SOCKET,NODE,ONLINE
cat /sys/devices/system/cpu/isolated
cat /sys/devices/system/cpu/nohz_full
cat /sys/devices/system/cpu/smt/control

printf '%s\n' '== idle and frequency =='
cat /sys/devices/system/cpu/cpuidle/current_driver
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver 2>/dev/null || true
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 2>/dev/null || true
grep -H . /sys/devices/system/cpu/cpu*/power/energy_perf_bias 2>/dev/null || true

printf '%s\n' '== IRQ and RCU placement =='
cat /proc/irq/default_smp_affinity
cat /proc/interrupts
ps -eLo pid,tid,psr,cls,rtprio,comm | grep -E 'rcuo|rcuc|irq/' || true

printf '%s\n' '== clock, NUMA, and IOMMU =='
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
sysctl kernel.numa_balancing
dmesg | grep -Ei 'DMAR|IOMMU|clocksource|tsc'

printf '%s\n' '== watchdog, security, and storage =='
sysctl kernel.watchdog kernel.nmi_watchdog kernel.randomize_va_space 2>/dev/null || true
grep . /sys/devices/system/cpu/vulnerabilities/*
cat /sys/module/nvme_core/parameters/io_timeout 2>/dev/null || true
grep -H . /sys/block/nvme*/queue/io_timeout 2>/dev/null || true
cat /sys/module/nvme_core/parameters/max_retries 2>/dev/null || true