Перейти к содержимому

Linux-Kernel und Sched-ext-Framework mit dem CachyOS Kernel Manager verwalten

Kernel aus dem Repository installieren

Der CachyOS Kernel Manager vereinfacht die Installation und Verwaltung von Kerneln aus jedem Arch Linux-Repository.

Um einen Kernel zu installieren, starte die Anwendung CachyOS Kernel Manager und wähle den gewünschten Kernel aus, indem du das Kontrollkästchen [] in der Liste aller verfügbaren Optionen aktivierst. Klicke dann einfach auf Execute, um die Kernelinstallation zu starten.


Anpassen und Erstellen eines benutzerdefinierten CachyOS-Kernels


Der CachyOS Kernel Manager vereinfacht die Anpassung und Erstellung eines benutzerdefinierten CachyOS-Kernels.

Um zu beginnen, öffne den Kernel Manager und klicke auf die Schaltfläche Configure, um mit der Konfiguration verschiedener Parameter wie dem gewünschten Scheduler, der Taktfrequenz und vielem mehr zu beginnen. Nachdem du die gewünschten Änderungen vorgenommen hast, klicke auf die Schaltfläche Build kernel, um mit der Erstellung deines benutzerdefinierten CachyOS-Kernels zu beginnen.

Verfügbare Konfigurationsoptionen:

  • Custom package name: Mit dieser Option kannst du deinem Kernel einen beliebigen Namen geben, z. B. linux-custom-cachy
  • Scheduler (BORE, RC, RT, RT+BORE, EEVDF und BMQ)
  • CachyOS-Konfiguration aktivieren
  • Konfiguration über nconfig, menuconfig, xconfig oder gconfig anpassen
  • NUMA aktivieren/deaktivieren
  • Modprobed-db aktivieren/deaktivieren
  • KBUILD CFLAGS (-O3 oder -O2)
  • Standard-Performance-Governor
  • BBR3 aktivieren
  • Taktfrequenz auswählen (100Hz, 250Hz, 300Hz, 500Hz, 600Hz, 750Hz, 1000Hz)
  • Tickless-Modus (idle, periodic, full)
  • Preemption (Full, Voluntary oder Server)
  • Transparent Hugepages (Always oder Madvise)
  • DAMON aktivieren/deaktivieren
  • Automatische CPU-Architekturerkennung aktivieren/deaktivieren
  • Kernel-Optimierung für bestimmte CPU-Architekturen anwenden
  • LTO aktivieren (Full, Thin, No)
  • ZFS-Modul erstellen
  • Proprietäres NVIDIA-Modul erstellen
  • Open-Source-NVIDIA-Modul erstellen
  • vmlinux mit Debug-Informationen/Symbolen erstellen
  • Kernel Manager-Konfigurationsvoreinstellung laden/speichern: (Nur Voreinstellungen aus dem Manager selbst)
  • Kernel-Patch-Verwaltung (Unterstützung für Remote- und lokale Patches)

Nachdem der Kernel erfolgreich erstellt wurde, wirst du aufgefordert, dein Sudo-Passwort einzugeben, um den Kernel zu installieren.

Sched-ext-Framework verwalten

Der Kernel Manager bietet eine grafische Benutzeroberfläche (GUI) zur Verwaltung und Steuerung von Sched-ext-Schedulern. Du kannst auf die grafische Benutzeroberfläche zugreifen, indem du im Hauptfenster auf die Schaltfläche sched-ext scheduler config klickst.


Diese grafische Benutzeroberfläche ermöglicht Folgendes:

  • Zwischen verschiedenen Sched-ext-Schedulern (scx) wechseln.
  • Den Scheduler-Dienst aktivieren oder deaktivieren.
  • Den aktuell laufenden Scheduler überprüfen.
  • Scheduler-Flags und -Profile festlegen. Derzeit unterstützen Profile nur bpfland und lavd.

Dazu verwendet der Kernel Manager scx_loader mit einer Konfiguration, die in folgender Datei gespeichert ist:

/etc/scx_loader.toml. Weitere Informationen zur Konfigurationsdatei scx_loader findest du in dieser Dokumentation.

  • Wie funktioniert scx_loader?
    • Nachdem du einen Scheduler und ein Profil ausgewählt hast, startet scx_loader den Scheduler mit dem ausgewählten Profil und speichert diese Konfiguration in der Datei /etc/scx_loader.toml, um sicherzustellen, dass die Einstellungen nach einem Neustart erhalten bleiben. Ein Beispiel dafür, wie die Datei aussieht, wenn scx_bpfland mit dem Profil Gaming ausgewählt wird:
      default_sched = "scx_bpfland"
      default_mode = "Gaming"
      [scheds.scx_bpfland]
      auto_mode = []
      gaming_mode = ["-m", "performance"]
      lowlatency_mode = ["-k", "-s", "5000", "-l", "5000"]
      powersave_mode = ["-m", "powersave"]

Scheduler-Profile

  • Wozu dienen “Profile”?
    • Dies sind Voreinstellungen für den Scheduler, die die Flags basierend auf getesteten Kombinationen ändern, um die Effizienz für bestimmte Anwendungsfälle wie “Gaming” zu verbessern.

In der Tabelle findest du eine detailliertere Übersicht.

Bpfland

ProfilnameBefehlszeilen-FlagsBeschreibung
Niedrige Latenz-k -s 5000 -l 5000Entwickelt, um die Latenz auf Kosten des Durchsatzes zu reduzieren. Geeignet für Echtzeitanwendungen wie Audio- und Multimediaverarbeitung.
Gaming-m performanceOptimiert für hohe Leistung in Spielen. Priorisiert P-Kerne gegenüber E-Kernen auf Intel-Prozessoren und CCDs auf Ryzen X3D-Prozessoren.
Energiesparen-m powersavePriorisiert Energieeffizienz. Bevorzugt weniger leistungsstarke Kerne (z. B. E-Kerne auf Intel).
Server-c 0Deaktiviert die interaktive Aufgabenklassifizierung in Bpfland, wodurch es besser für Server geeignet ist, eine Steigerung von ca. 2-3 % bei Server-Workloads wird erwartet.

LAVD

ProfilnameBefehlszeilen-FlagsBeschreibung
Gaming und niedrige Latenz--performanceMaximiert die Leistung durch die Nutzung aller verfügbaren Kerne, wobei physische Kerne priorisiert werden.
Energiesparen--powersaveMinimiert den Energieverbrauch bei gleichzeitiger Aufrechterhaltung einer angemessenen Leistung. Priorisiert effiziente Kerne und Threads gegenüber physischen Kernen.