Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


11.10.35 Services Linux

Service Early OOM

Early OOM, aussi appelé Earlyoom, est un démon de gestion du remplissage mémoire (OOM) minimaliste qui se lance en espace utilisateur et fournit une alternative plus rapide et configurable que le gestionnaire du noyau. Il est utile pour éviter que le système ne cesse de répondre lorsqu’il n’a plus de mémoire.

Variable :earlyoom-service-type

Le type de service pour le service earlyoom, le démon Early OOM. Sa valeur doit être un objet earlyoom-configuration, décrit plus bas. Vous pouvez instancier le service avec sa configuration par défaut avec :

Type de données :earlyoom-configuration

La configuration pour earlyoom-service-type.

earlyoom (par défaut : earlyoom)

Le paquet Earlyoom à utiliser.

minimum-available-memory (par défaut : 10)

La limite de mémoire disponible minimum, en pourcentage.

minimum-free-swap (par défaut : 10)

La limite d’espace d’échange libre minimum, en pourcentage.

prefer-regexp (par défaut : #f)

Une expression régulière (une chaine) qui correspond aux noms des processus à tuer en priorité.

avoid-regexp (par défaut : #f)

Une expression régulière (une chaine) des noms des processus qui ne doivent pas être tués.

memory-report-interval (par défaut : 0)

L’intervalle en seconde d’affichage du rapport mémoire. Il est désactivé par défaut.

ignore-positive-oom-score-adj? (par défaut : #f)

Un booléen indiquant si les ajustements positifs indiqués dans /proc/*/oom_score_adj doivent être ignorés.

show-debug-messages? (par défaut : #f)

Un booléen indiquant si les messages de débogages doivent être affichés. Les journaux sont sauvegardés dans /var/log/earlyoom.log.

send-notification-command (par défaut : #f)

On peut utiliser cette option pour fournir une commande personnalisée pour envoyer les notifications.

fstrim Service

The command fstrim can be used to discard (or trim) unused blocks on a mounted file system.

Attention : Running fstrim frequently, or even using mount -o discard, might negatively affect the lifetime of poor-quality SSD devices. For most desktop and server systems a sufficient trimming frequency is once a week. Note that not all devices support a queued trim, so each trim command incurs a performance penalty on whatever else might be trying to use the disk at the time.

Variable :fstrim-service-type

Type for a service that periodically runs fstrim, whose value must be an <fstrim-configuration> object. The service can be instantiated in its default configuration with:

Data Type :fstrim-configuration

Available fstrim-configuration fields are:

package (default: util-linux) (type: file-like)

The package providing the fstrim command.

schedule (default: "0 0 * * 0") (type: mcron-time)

Schedule for launching fstrim. This can be a procedure, a list or a string. For additional information, see Job specification dans the mcron manual. By default this is set to run weekly on Sunday at 00:00.

listed-in (default: '("/etc/fstab" "/proc/self/mountinfo")) (type: maybe-list-of-strings)

List of files in fstab or kernel mountinfo format. All missing or empty files are silently ignored. The evaluation of the list stops after the first non-empty file. File systems with X-fstrim.notrim mount option in fstab are skipped.

verbose? (default: #t) (type: boolean)

Verbose execution.

quiet-unsupported? (default: #t) (type: boolean)

Suppress error messages if trim operation (ioctl) is unsupported.

extra-arguments (type: maybe-list-of-strings)

Extra options to append to fstrim (run ‘man fstrim’ for more information).

Service de chargement de modules du noyau

Le service de chargement de modules du noyau vous permet de charger des modules du noyau au démarrage. C’est particulièrement utile pour les modules qui ne sont pas chargés automatiquement et qui doivent être chargés manuellement, comme c’est le cas avec ddcci.

Variable :kernel-module-loader-service-type

Le type de service pour charger des modules du noyau au démarrage avec modprobe. Sa valeur doit être une liste de chaines de caractères représentant les noms des modules. Par exemple pour charger les pilotes fournis par ddcci-driver-linux, en mode débogage en passant certains paramètres au module, on peut faire :

(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)))

Cachefilesd Service

The Cachefilesd service starts a daemon that caches network file system data locally. It is especially useful for NFS and AFS shares, where it reduces latencies for repeated access when reading files.

The daemon can be configured as follows:

(service cachefilesd-service-type
         (cachefilesd-configuration
           (cache-directory "/var/cache/fscache")))
Variable :cachefilesd-service-type

The service type for starting cachefilesd. The value for this service type is a cachefilesd-configuration, whose only required field is cache-directory.

Data Type :cachefilesd-configuration

Available cachefilesd-configuration fields are:

cachefilesd (default: cachefilesd) (type: file-like)

The cachefilesd package to use.

debug-output? (default: #f) (type: boolean)

Print debugging output to stderr.

use-syslog? (default: #t) (type: boolean)

Log to syslog facility instead of stdout.

scan? (default: #t) (type: boolean)

Scan for cachable objects.

cache-directory (type: maybe-string)

Location of the cache directory.

cache-name (default: "CacheFiles") (type: maybe-string)

Name of cache (keep unique).

security-context (type: maybe-string)

SELinux security context.

pause-culling-for-block-percentage (default: 7) (type: maybe-non-negative-integer)

Pause culling when available blocks exceed this percentage.

pause-culling-for-file-percentage (default: 7) (type: maybe-non-negative-integer)

Pause culling when available files exceed this percentage.

resume-culling-for-block-percentage (default: 5) (type: maybe-non-negative-integer)

Start culling when available blocks drop below this percentage.

resume-culling-for-file-percentage (default: 5) (type: maybe-non-negative-integer)

Start culling when available files drop below this percentage.

pause-caching-for-block-percentage (default: 1) (type: maybe-non-negative-integer)

Pause further allocations when available blocks drop below this percentage.

pause-caching-for-file-percentage (default: 1) (type: maybe-non-negative-integer)

Pause further allocations when available files drop below this percentage.

log2-table-size (default: 12) (type: maybe-non-negative-integer)

Size of tables holding cullable objects in logarithm of base 2.

cull? (default: #t) (type: boolean)

Create free space by culling (consumes system load).

trace-function-entry-in-kernel-module? (default: #f) (type: boolean)

Trace function entry in the kernel module (for debugging).

trace-function-exit-in-kernel-module? (default: #f) (type: boolean)

Trace function exit in the kernel module (for debugging).

trace-internal-checkpoints-in-kernel-module? (default: #f) (type: boolean)

Trace internal checkpoints in the kernel module (for debugging).

Service Rasdaemon

Le service Rasdaemon fournit un démon qui surveille les rapports RAS (Reliability, Availability, and Serviceability) de la plateforme dans les événements de trace du noyau Linux, et les envoie à syslogd.

La fiabilité, la disponibilité et la serviabilité est un concept utilisé sur les serveur conçu pour mesurer leur robustesse.

La fiabilité est la probabilité pour qu’un système produise les résultats attendus :

La disponibilité est la probabilité pour qu’un système soit opérationnel à un moment donné :

La serviabilité est la simplicité et la rapidité avec laquelle un système peut être réparé ou maintenu :

Entre autres mesures de surveillance, les plus courantes sont :

En surveillant le nombre de détection d’erreurs, il est possible d’identifier si la probabilité d’erreurs matérielles augmente, et dans ce cas, d’effectuer une maintenance préventive pour remplacecr un composant dégradé tant que les erreurs peuvent être corrigées.

Pour des informations détaillées sur les types d’événements d’erreur récupérés et comment les comprendre, voir le guide de l’administrateur du noyau sur https://www.kernel.org/doc/html/latest/admin-guide/ras.html.

Variable :rasdaemon-service-type

Le type de service pour le service rasdaemon. Il accepte un objet rasdaemon-configuration. Instantiez-le avec

chargera une configuration par défaut, qui surveille tous les événements et les enregistre avec syslogd.

Type de données :rasdaemon-configuration

Type de données représentant la configuration de rasdaemon.

record? (par défaut : #f)

Un booléen indiquant s’il faut enregistrer les événements dans une base de données SQLite. Cela donne un accès plus structuré aux informations contenues dans le fichier journal. L’emplacement de la base de données est codée en dur : /var/lib/rasdaemon/ras-mc_event.db.

Service Zram

Le service de périphérique Zram fournit un périphérique de swap compressé en mémoire système. La documentation du noyau Linux a plus d’information à propos de ces périphériques zram.

Variable :zram-device-service-type

Ce service crée un périphérique de bloc zram, le formate en swap et active l’espace d’échange. La valeur du service est un enregistrement zram-device-configuration.

Type de données :zram-device-configuration

C’est le type de données représentant la configuration du service zram-device.

size (par défaut : "1G")

C’est l’espace que vous voulez fournir à votre périphérique zram. Il accepte une chaine et peut être un nombre d’octets ou utiliser un suffixe, p. ex. : "512M" ou "1024000".

compression-algorithm (par défaut : 'lzo)

C’est l’algorithme de compression à utiliser. Il est difficile de lister toutes les possibilités, mais les options habituelles prises en charge par le noyau Linux Libre de Guix sont 'lzo, 'lz4 et 'zstd.

memory-limit (par défaut : 0)

C’est la quantité de mémoire maximal que le périphérique zram peut utiliser. le mettre à « 0 » désactive la limite. Bien qu’il soit généralement accepté que la compression aura un ratio de 2 pour 1, il est possible que des données non-comprimables soient écrites en espace d’échange et c’est une méthode pour limiter la quantité de mémoire qui peut être utilisée. Le paramètre accepte une chaine qui peut être un nombre d’octets ou utiliser un suffixe, p. ex. "2G".

priority (par défaut : #f)

C’est la priorité du périphérique d’échange créé à partir du périphérique zram. Voir Espace d’échange pour une description des priorités des espaces d’échange. Vous voudrez peut-être indiquer une priorité spécifique pour le périphérique zram, sinon il pourrait ne pas être utilisé du tout pour les raisons qui y sont décrites.


Suivant: Services Hurd, Précédent: Services Guix, Monter: Services   [Table des matières][Index]