Red Hat Training

A Red Hat training course is available for RHEL 8

9.5. Uso de grupos de control versión 1 con systemd

Las siguientes secciones proporcionan una visión general de las tareas relacionadas con la creación, modificación y eliminación de los grupos de control (cgroups). Las utilidades proporcionadas por el sistema systemd y el gestor de servicios son la forma preferida de la gestión de cgroups y serán apoyadas en el futuro.

9.5.1. Creación de grupos de control versión 1 con systemd

Puede utilizar el sistema systemd y el administrador de servicios para crear grupos de control transitorios y persistentes (cgroups) para establecer límites, priorizar o controlar el acceso a los recursos de hardware para grupos de procesos.

9.5.1.1. Creación de grupos de control transitorios

Los transitorios cgroups establecen límites a los recursos consumidos por una unidad (servicio o ámbito) durante su tiempo de ejecución.

Procedimiento

  • Para crear un grupo de control transitorio, utilice el comando systemd-run con el siguiente formato:

    # systemd-run --unit=<name> --slice=<name>.slice <command>

    Este comando crea e inicia un servicio transitorio o una unidad de alcance y ejecuta un comando personalizado en dicha unidad.

    • La opción --unit=<name> da un nombre a la unidad. Si no se especifica --unit, el nombre se genera automáticamente.
    • La opción --slice=<name>.slice hace que su servicio o unidad de alcance sea miembro de una porción especificada. Sustituya <name>.slice con el nombre de una porción existente (como se muestra en la salida de systemctl -t slice), o cree una nueva porción pasando un nombre único. Por defecto, los servicios y ámbitos se crean como miembros de system.slice.
    • Sustituya <command> por el comando que desea ejecutar en el servicio o en la unidad de alcance.

      Se muestra el siguiente mensaje para confirmar que ha creado e iniciado el servicio o el ámbito de aplicación con éxito:

      # Ejecutando como unidad <name>.service
  • Opcionalmente, mantenga la unidad en funcionamiento después de que sus procesos hayan finalizado para recopilar información en tiempo de ejecución:

    # systemd-run --unit=<name> --slice=<name>.slice --remain-after-exit <command>

    El comando crea e inicia una unidad de servicio transitoria y ejecuta un comando personalizado en dicha unidad. La opción --remain-after-exit asegura que el servicio siga funcionando después de que sus procesos hayan terminado.

Recursos adicionales

9.5.1.2. Creación de grupos de control persistentes

Para asignar un grupo de control persistente a un servicio, es necesario editar su archivo de configuración de unidad. La configuración se conserva tras el reinicio del sistema, por lo que puede utilizarse para gestionar los servicios que se inician automáticamente.

Procedimiento

  • Para crear un grupo de control persistente, ejecute:

    # systemctl enable <name>.service

    El comando anterior crea automáticamente un archivo de configuración de la unidad en el directorio /usr/lib/systemd/system/ y, por defecto, asigna <name>.service a la unidad system.slice.

Recursos adicionales