Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]


10.8.30 Linux-Dienste

Early-OOM-Dienst

Early OOM, auch bekannt als Earlyoom, ist ein minimalistischer Out-Of-Memory-Daemon (OOM), um auf Anwendungsebene („User Space“) Programme abzuwürgen, wenn einem der freie Arbeitsspeicher ausgeht (ein „OOM-Killer“). Er stellt eine Alternative zum im Kernel eingebauten OOM-Killer dar, mit der das System in einem solchen Fall besser weiterhin auf Benutzereingaben reagieren kann und die konfigurierbarer ist.

Scheme-Variable: earlyoom-service-type

Der Diensttyp, um earlyoom, den Early-OOM-Daemon, auszuführen. Als Wert muss ein earlyoom-configuration-Objekt angegeben werden, wie unten beschrieben. So kann der Dienst mit seiner Vorgabekonfiguration instanziieret werden:

Datentyp: earlyoom-configuration

Dies ist das Verbundsobjekt mit der Konfiguration des earlyoom-service-type.

earlyoom (Vorgabe: earlyoom)

Das Earlyoom-Paket, das benutzt werden soll.

minimum-available-memory (Vorgabe: 10)

Der Schwellwert, wie viel Arbeitsspeicher mindestens verfügbar bleiben muss, in Prozent.

minimum-free-swap (Vorgabe: 10)

Der Schwellwert, wie viel Swap-Speicher mindestens frei bleiben muss, in Prozent.

prefer-regexp (Vorgabe: #f)

Ein regulärer Ausdruck (als eine Zeichenkette), der auf die Namen jener Prozesse passt, die als Erste abgewürgt werden sollen.

avoid-regexp (Vorgabe: #f)

Ein regulärer Ausdruck (als eine Zeichenkette), der auf die Namen jener Prozesse passt, die nicht abgewürgt werden sollen.<

memory-report-interval (Vorgabe: 0)

Das Intervall in Sekunden, in dem ein Bericht über den Speicher ausgegeben werden soll. Nach Vorgabe ist es deaktiviert.

ignore-positive-oom-score-adj? (Vorgabe: #f)

Ein boolescher Wert, der angibt, ob die in /proc/*/oom_score_adj festgelegten Anpassungen nach oben ignoriert werden sollen.

show-debug-messages? (Vorgabe: #f)

Ein boolescher Ausdruck, der angibt, ob Nachrichten zur Fehlersuche ausgegeben werden sollen. Die Protokolle werden unter /var/log/earlyoom.log gespeichert.

send-notification-command (Vorgabe: #f)

Hiermit kann ein eigener Befehl eingestellt werden, um Benachrichtigungen zu senden.

Kernelmodul-Ladedienst

Mit dem Kernelmodul-Ladedienst („Kernel Module Loader Service“) können Sie veranlassen, dass hinzuladbare Kernelmodule beim Systemstart geladen werden. Das bietet sich besonders für Module an, die nicht automatisch geladen werden („Autoload“), sondern manuell geladen werden müssen, wie es z.B. bei ddcci der Fall ist.

Scheme-Variable: kernel-module-loader-service-type

Der Diensttyp, um hinzuladbare Kernelmodule beim Systemstart über modprobe zu laden. Als Wert muss eine Liste von Zeichenketten angegeben werden, die den Modulnamen entsprechen. Um zum Beispiel die durch ddcci-driver-linux zur Verfügung gestellten Treiber zu laden und dabei durch Übergabe bestimmter Parameter den Modus zur Fehlersuche zu aktivieren, können Sie Folgendes benutzen:

(use-modules (gnu) (gnu services))
(use-package-modules linux)
(use-service-modules linux)

(define ddcci-config
  (plain-file "ddcci.conf"
              "options ddcci dyndbg delay=120"))

(operating-system
  
  (services (cons* (service kernel-module-loader-service-type
                            '("ddcci" "ddcci_backlight"))
                   (simple-service 'ddcci-config etc-service-type
                                   (list `("modprobe.d/ddcci.conf"
                                           ,ddcci-config)))
                   %base-services))
  (kernel-loadable-modules (list ddcci-driver-linux)))

Dienst für Zram-Geräte

Der Dienst für Zram-Geräte macht ein komprimiertes Swap-Gerät im Arbeitsspeicher verfügbar. Mehr Informationen finden Sie in der Linux-Kernel-Dokumentation über Zram-Geräte.

Scheme-Variable: zram-device-service-type

Dieser Dienst erzeugt das Zram-Blockgerät, formatiert es als Swap-Speicher und aktiviert es als ein Swap-Gerät. Der Wert des Dienstes ist ein zram-device-configuration-Verbundsobjekt.

Datentyp: zram-device-configuration

Dieser Datentyp repräsentiert die Konfiguration des zram-device-Dienstes.

size (Vorgabe: "1G")

Wie viel Speicher Sie für das Zram-Gerät verfügbar machen möchten. Angegeben werden kann eine Zeichenkette oder eine Zahl mit der Anzahl Bytes oder mit einem Suffix, z.B. "512M" oder 1024000.

compression-algorithm (Vorgabe: 'lzo)

Welchen Kompressionsalgorithmus Sie verwenden möchten. Alle Konfigurationsmöglichkeiten lassen sich hier nicht aufzählen, aber der Linux-Libre-Kernel von Guix unterstützt unter anderem die häufig benutzten 'lzo, 'lz4 und 'zstd.

memory-limit (Vorgabe: 0)

Wie viel Arbeitsspeicher dem Zram-Gerät höchstens zur Verfügung steht. Wenn es auf 0 steht, entfällt die Beschränkung. Obwohl im Allgemeinen von einem Kompressionsverhältnis von 2:1 ausgegangen wird, kann es passieren, dass nicht komprimierbare Daten den Swap-Speicher füllen. Mit diesem Feld kann das begrenzt werden. Es nimmt eine Zeichenkette oder eine Anzahl Bytes; ein Suffix kann angegeben werden, z.B. "2G".

priority (Vorgabe: -1)

Die Priorität des Swap-Geräts, das aus dem Zram-Gerät erzeugt wird. swapon akzeptiert Werte zwischen -1 und 32767, dabei stehen höhere Werte für eine höhere Priorität. Höher priorisierter Speicher wird in der Regel zuerst benutzt.


Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]