🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCuotas, límites y aislamiento básico
5 tareas · 35 min · Principiante
Un trabajo de CI que consume toda la memoria, llena el disco o lanza procesos sin tope puede tumbar el ejecutor y, con él, el pipeline de todos. Linux ofrece topes por usuario, por grupo de procesos y por unidad de servicio, y también opciones de aislamiento básico. En esta sala los lees en el ejecutor 03 de Molinos Zarzuela, una empresa ficticia, sin cambiar nada.
Objetivo de la sala
Un trabajo de CI que consume toda la memoria, llena el disco o lanza procesos sin tope puede tumbar el ejecutor y, con él, el pipeline de todos. Linux ofrece topes por usuario, por grupo de procesos y por unidad de servicio, y también opciones de aislamiento básico. En esta sala los lees en el ejecutor 03 de Molinos Zarzuela, una empresa ficticia, sin cambiar nada.Hay dos mecanismos que se confunden. Los límites de recursos (ulimit, y su configuración en /etc/security/limits.d) fijan topes del proceso y sus hijos: archivos abiertos, procesos de un usuario, tamaño de pila. Los cgroups (grupos de control) agrupan procesos y fijan topes para el conjunto: memoria total, número de procesos, tiempo de CPU.
systemd usa cgroups por debajo: las directivas MemoryMax= y TasksMax= de una unidad se traducen en archivos como memory.max y pids.max en /sys/fs/cgroup. Y un valor max o infinity significa que no hay tope.
Responde para continuar
¿En qué se diferencia un límite de ulimit de un cgroup?
Ver pista de ayuda
Uno habla de «un proceso»; el otro, de «todo el grupo».
Las unidades de systemd del ejecutor viven en /etc/systemd/system. Un servicio sin MemoryMax= (o con infinity) puede llevarse toda la memoria del equipo ante un fallo. Compara las tres unidades.
Responde para continuar
Escribe el nombre de la unidad (sin el sufijo .service) cuyo MemoryMax es infinity.
Ver pista de ayuda
Haz cat de cada archivo y mira la línea MemoryMax.
Un disco lleno detiene los trabajos con errores confusos. df -h muestra el espacio por punto de montaje y df -i los inodos (cada archivo usa uno: una partición puede quedarse sin ellos con espacio libre). Las cuotas de disco por usuario existen para evitar que una cuenta se coma el volumen. Lee el informe del 5 de octubre.
Responde para continuar
Escribe el punto de montaje cuyo espacio está al 100 % de uso.
Ver pista de ayuda
Mira la primera parte del archivo (df -h), no la de inodos.
Los archivos de cgroup guardan los topes en bytes. Un gibibyte (GiB) son 1024 × 1024 × 1024 bytes, es decir, 1 073 741 824. Lee el tope de memoria del grupo del ejecutor, y recuerda que memory.events cuenta en oom_kill cuántas veces el kernel mató procesos por pasarse del tope.
Responde para continuar
¿Cuántos GiB son el valor de memory.max del grupo ejecutor.slice?
Ver pista de ayuda
Divide el número del archivo memory.max entre 1073741824.
Además de los topes, una unidad de systemd puede restringir lo que el servicio ve y puede hacer: NoNewPrivileges=yes impide ganar privilegios (por ejemplo, vía setuid), PrivateTmp=yes le da una carpeta temporal propia y ProtectSystem=strict deja el sistema de archivos en solo lectura salvo las rutas de ReadWritePaths=. No es un aislamiento completo, pero es barato y se lee de un vistazo.
Responde para continuar
¿Qué combinación aplicarías al servicio del ejecutor?
Ver pista de ayuda
Busca la opción que limita y a la vez restringe, no la que quita barreras.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.