Next: , Previous: , Up: Servicios   [Contents][Index]


12.9.32 Servicios de Linux

Servicio Early OOM

Early OOM, también conocido como Earlyoom, es un daemon minimalista de gestión del llenado de la memoria45 que se ejecuta en espacio de usuaria y proporciona una alternativa al gestor del propio núcleo con una respuesta más inmediata y más configurable. Es útil para prevenir que el sistema no responda cuando se queda sin memoria.

Variable Scheme: earlyoom-service-type

Tipo de servicio para el servicio earlyoom, el daemon Early OOM. Su valor debe ser un objeto earlyoom-configuration, descrito a continuación. El servicio se puede instanciar con su configuración predeterminada de esta manera:

Tipo de datos: earlyoom-configuration

Esta es el registro de configuración para el servicio earlyoom-service-type.

earlyoom (predeterminado: earlyoom)

El paquete Earlyoom usado.

minimum-available-memory (predeterminado: 10)

El límite inferior de memoria disponible, en porcentaje.

minimum-free-swap (predeterminado: 10)

El límite inferior de memoria de intercambio libre, en porcentaje.

prefer-regexp (predeterminado: #f)

Una expresión regular (como cadena) que corresponda con los nombres de los procesos que preferiblemente deban pararse.

avoid-regexp (predeterminado: #f)

Una expresión regular (como cadena) que corresponda con los nombres de los procesos que no deban pararse.

memory-report-interval (predeterminado: 0)

Intervalo en segundos con el cual se imprime el informe de memoria. No está activo de manera predeterminada.

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

Valor booleano que indica si se deben ignoran los ajustes positivos realizados en /proc/*/oom_score_adj.

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

Valor booleano que indica si los mensajes de depuración deben imprimirse. Los registros se almacenan en /var/log/earlyoom.log.

send-notification-command (predeterminada: #f)

Puede usarse para proporcionar una orden personalizada para el envío de notificaciones.

Servicio de carga de módulos del núcleo

The kernel module loader service allows one to load loadable kernel modules at boot. This is especially useful for modules that don’t autoload and need to be manually loaded, as is the case with ddcci.

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

Tipo de servicio para la carga de módulos del núcleo durante el arranque con modprobe. Su valor debe ser una lista de cadenas que representan nombres de módulo. Por ejemplo, la carga de los controladores proporcionados por ddcci-driver-linux en modo de depuración proporcionando algunos parámetros para el módulo puede realizarse de la siguiente manera:

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

Rasdaemon Service

The Rasdaemon service provides a daemon which monitors platform RAS (Reliability, Availability, and Serviceability) reports from Linux kernel trace events, logging them to syslogd.

Reliability, Availability and Serviceability is a concept used on servers meant to measure their robustness.

Relability is the probability that a system will produce correct outputs:

Availability is the probability that a system is operational at a given time:

Serviceability is the simplicity and speed with which a system can be repaired or maintained:

Among the monitoring measures, the most usual ones include:

By monitoring the number of occurrences of error detections, it is possible to identify if the probability of hardware errors is increasing, and, on such case, do a preventive maintenance to replace a degraded component while those errors are correctable.

For detailed information about the types of error events gathered and how to make sense of them, see the kernel administrator’s guide at https://www.kernel.org/doc/html/latest/admin-guide/ras.html.

Scheme Variable: rasdaemon-service-type

Service type for the rasdaemon service. It accepts a rasdaemon-configuration object. Instantiating like

will load with a default configuration, which monitors all events and logs to syslogd.

Data Type: rasdaemon-configuration

The data type representing the configuration of rasdaemon.

record? (default: #f)

A boolean indicating whether to record the events in an SQLite database. This provides a more structured access to the information contained in the log file. The database location is hard-coded to /var/lib/rasdaemon/ras-mc_event.db.

Servicio de dispositivo Zram

El servicio de dispositivo Zram proporciona un dispositivo comprimido de intercambio en la memoria del sistema. La documentación del núcleo Linux contiene más información sobre dispositivos zram.

Variable Scheme: zram-device-service-type

Este servicio crea el dispositivo de bloques zram, le proporciona el formato de la memoria de intercambio y lo activa. El valor del servicio es un registro zram-device-configuration.

Tipo de datos: zram-device-configuration

Este tipo de datos representa la configuración del servicio zram-device.

size (predeterminado: "1G")

Es la cantidad de espacio que desea proporcionar al dispositivo zram. Acepta una cadena y puede ser el número de bytes o usar un sufijo, como por ejemplo "512M" o 1024000.

compression-algorithm (predeterminado: 'lzo)

Algoritmo de compresión que desea usar. Es difícil enumerar todas las opciones de compresión posibles, pero las más habituales entre las implementadas por el núcleo Linux Libre usado por Guix incluyen 'lzo, 'lz4 y 'zstd.

memory-limit (predeterminado: 0)

Cantidad máxima de memoria que el dispositivo zram puede usar. Proporcionar el valor ’0’ desactiva el límite. Mientras que generalmente se espera que la compresión tenga una relación con los datos sin comprimir de 2:1, es posible que se escriban datos en la memoria de intercambio que no se pueden comprimir más, y esta es una forma de limitar cuanta memoria puede usarse. Acepta una cadena y puede ser un número de bytes o un usar sufijo, por ejemplo "2G".

priority (default #f)

This is the priority of the swap device created from the zram device. See Swap Space for a description of swap priorities. You might want to set a specific priority for the zram device, otherwise it could end up not being used much for the reasons described there.


Footnotes

(45)

NdT: Del inglés Out Of Memory.


Next: , Previous: , Up: Servicios   [Contents][Index]