CGroup Namespace
Información Básica
Un espacio de nombres CGroup es una característica del kernel de Linux que proporciona aislamiento de jerarquías de cgroups para procesos que se ejecutan dentro de un espacio de nombres. Los cgroups, abreviatura de grupos de control, son una característica del kernel que permite organizar procesos en grupos jerárquicos para gestionar y hacer cumplir límites en los recursos del sistema como CPU, memoria y E/S.
Si bien los espacios de nombres de cgroups no son un tipo de espacio de nombres separado como los que discutimos anteriormente (PID, montaje, red, etc.), están relacionados con el concepto de aislamiento de espacios de nombres. Los espacios de nombres de cgroups virtualizan la vista de la jerarquía de cgroups, de modo que los procesos que se ejecutan dentro de un espacio de nombres de cgroups tienen una vista diferente de la jerarquía en comparación con los procesos que se ejecutan en el host u otros espacios de nombres.
Cómo funciona:
Cuando se crea un nuevo espacio de nombres de cgroups, comienza con una vista de la jerarquía de cgroups basada en el cgroup del proceso que lo crea. Esto significa que los procesos que se ejecutan en el nuevo espacio de nombres de cgroups solo verán un subconjunto de toda la jerarquía de cgroups, limitada al subárbol de cgroups enraizado en el cgroup del proceso que lo crea.
Los procesos dentro de un espacio de nombres de cgroups verán su propio cgroup como la raíz de la jerarquía. Esto significa que, desde la perspectiva de los procesos dentro del espacio de nombres, su propio cgroup aparece como la raíz, y no pueden ver ni acceder a cgroups fuera de su propio subárbol.
Los espacios de nombres de cgroups no proporcionan directamente aislamiento de recursos; solo proporcionan aislamiento de la vista de la jerarquía de cgroups. El control y aislamiento de recursos aún son aplicados por los subsistemas de cgroups (por ejemplo, cpu, memoria, etc.) en sí mismos.
Para obtener más información sobre CGroups, consulta:
pageCGroupsLaboratorio:
Crear diferentes Espacios de Nombres
CLI
Al montar una nueva instancia del sistema de archivos /proc
si se utiliza el parámetro --mount-proc
, se asegura de que el nuevo espacio de nombres de montaje tenga una vista precisa y aislada de la información de procesos específica para ese espacio de nombres.
Docker
Verificar en qué espacio de nombres está su proceso
Encontrar todos los espacios de nombres de CGroup
Entrar dentro de un espacio de nombres de CGroup
También, solo puedes entrar en otro espacio de nombres de proceso si eres root. Y no puedes entrar en otro espacio de nombres sin un descriptor que apunte a él (como /proc/self/ns/cgroup
).
Referencias
Última actualización