44.5.2.2. Configuración de los ajustes de control de recursos de memoria con archivos de unidad
Modificar manualmente los archivos de unidad 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 la memoria de un servicio, modifique el archivo
/usr/lib/systemd/system/example.service
como sigue:… [Service] MemoryLimit=1500K …
… [Service] MemoryLimit=1500K …
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La configuración anterior pone un límite al consumo máximo de memoria de los procesos ejecutados en un grupo de control, del que forma parte
example.service
.NotaUtilice los sufijos K, M, G o T para identificar el Kilobyte, Megabyte, Gigabyte o Terabyte como unidad de medida.
Recarga todos los archivos de configuración de la unidad:
systemctl daemon-reload
# systemctl daemon-reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reinicie el servicio:
systemctl restart example.service
# systemctl restart example.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Reinicie el sistema.
Opcionalmente, compruebe que los cambios surtieron efecto:
cat /sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes 1536000
# cat /sys/fs/cgroup/memory/system.slice/example.service/memory.limit_in_bytes 1536000
Copy to Clipboard Copied! Toggle word wrap Toggle overflow La salida del ejemplo muestra que el consumo de memoria se limitó a unos 1.500 Kilobytes.
NotaEl archivo
memory.limit_in_bytes
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 obtener más información sobre
systemd
, los archivos de configuración de las unidades y sus ubicaciones, así como una lista completa de los tipos de unidades desystemd
, consulte las secciones correspondientes en Configuring basic system settings. -
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”.