44.5.2. Modificación de los grupos de control versión 1 con systemd
Cada unidad persistente está supervisada por el sistema systemd
y el gestor de servicios, y tiene un archivo de configuración de la unidad en el directorio /usr/lib/systemd/system/
. Para cambiar los ajustes de control de recursos de las unidades persistentes, modifique su archivo de configuración de unidades, ya sea manualmente en un editor de texto o desde la interfaz de línea de comandos.
44.5.2.1. Configuración de los ajustes de control de los recursos de memoria en la línea de comandos Copiar enlaceEnlace copiado en el portapapeles!
La ejecución de comandos en la interfaz de línea de comandos es una de las formas de establecer límites, priorizar o controlar el acceso a los recursos de hardware para grupos de procesos.
Procedimiento
Para limitar el uso de memoria de un servicio, ejecute lo siguiente:
systemctl set-property example.service MemoryLimit=1500K
# systemctl set-property example.service MemoryLimit=1500K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow El comando asigna instantáneamente el límite de memoria de 1.500 kilobytes a los procesos ejecutados en un grupo de control al que pertenece el servicio
example.service
. El parámetroMemoryLimit
, en esta variante de configuración, se define en el archivo/etc/systemd/system.control/example.service.d/50-MemoryLimit.conf
y controla el valor del archivo/sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes
.Opcionalmente, para limitar temporalmente el uso de memoria de un servicio, ejecute
systemctl set-property --runtime example.service MemoryLimit=1500K
# systemctl set-property --runtime example.service MemoryLimit=1500K
Copy to Clipboard Copied! Toggle word wrap Toggle overflow El comando asigna instantáneamente el límite de memoria al servicio
example.service
. El parámetroMemoryLimit
se define hasta el siguiente reinicio en el archivo/run/systemd/system.control/example.service.d/50-MemoryLimit.conf
. Con un reinicio, se elimina todo el directorio/run/systemd/system.control/
yMemoryLimit
.
El archivo 50-MemoryLimit.conf
almacena el límite de memoria como un múltiplo de 4096 bytes - un tamaño de página del kernel específico para AMD64 e Intel 64. El número real de bytes depende de la arquitectura de la CPU.
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 los controladores de recursos, consulte las páginas del manual Sección 44.2, “Qué son los controladores de recursos del núcleo” y
systemd.resource-control(5)
,cgroups(7)
. -
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”.