Red Hat Training
A Red Hat training course is available for RHEL 8
44.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.
44.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.
44.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 desystemctl -t slice
), o cree una nueva porción pasando un nombre único. Por defecto, los servicios y ámbitos se crean como miembros desystem.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
-
La opción
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
- Para más información sobre el concepto de grupos de control, véase Sección 44.1, “Entender los grupos de control”.
-
Para más información sobre el papel de
systemd
en los grupos de control, véase Sección 44.4, “Función de systemd en los grupos de control versión 1”. -
Para obtener más información sobre
systemd
, los archivos de configuración de las unidades y sus ubicaciones, y una lista completa de los tipos de unidades desystemd
, consulte las secciones correspondientes en Configuring basic system settings. -
Para una descripción detallada de
systemd-run
, incluyendo otras opciones y ejemplos, consulte las páginas del manualsystemd-run(1)
.
44.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 unidadsystem.slice
.
Recursos adicionales
- Para más información sobre el concepto de grupos de control, véase Sección 44.1, “Entender los grupos de control”.
-
Para más información sobre el papel de
systemd
en los grupos de control, véase Sección 44.4, “Función de systemd en los grupos de control versión 1”. -
Para obtener más información sobre
systemd
, los archivos de configuración de las unidades y sus ubicaciones, y una lista completa de los tipos de unidades desystemd
, consulte las secciones correspondientes en Configuring basic system settings. -
Para una descripción detallada de
systemd-run
, incluyendo otras opciones y ejemplos, consulte las páginas del manualsystemd-run(1)
.