CGroup Namespace
Taarifa Msingi
CGroup namespace ni kipengele cha kernel ya Linux kinachotoa kutengwa kwa ierarkia za cgroup kwa michakato inayotumia ndani ya namespace. Cgroups, kifupi cha control groups, ni kipengele cha kernel kinachoruhusu kuandaa michakato katika vikundi vya ierarkia ili kusimamia na kutekeleza mipaka kwenye rasilimali za mfumo kama vile CPU, kumbukumbu, na I/O.
Ingawa cgroup namespaces sio aina tofauti ya namespace kama zile tulizojadili hapo awali (PID, mount, mtandao, nk), zina uhusiano na dhana ya kutengwa kwa namespace. Cgroup namespaces hufanya kuonekana kwa ierarkia ya cgroup kuwa ya kubuni, hivyo michakato inayotumia ndani ya cgroup namespace inaona ierarkia tofauti ya cgroup ikilinganishwa na michakato inayotumia kwenye mwenyeji au namespaces nyingine.
Jinsi inavyofanya kazi:
Wakati namespace mpya ya cgroup inaundwa, inaanza na mtazamo wa ierarkia ya cgroup kulingana na cgroup ya michakato inayounda. Hii inamaanisha kuwa michakato inayotumia ndani ya cgroup namespace mpya itaona tu sehemu ya ierarkia ya cgroup nzima, iliyopunguzwa kwa mti wa cgroup ulioanzishwa na cgroup ya michakato inayounda.
Michakato ndani ya cgroup namespace itaona cgroup yao wenyewe kama mzizi wa ierarkia. Hii inamaanisha kuwa, kutoka mtazamo wa michakato ndani ya namespace, cgroup yao wenyewe inaonekana kama mzizi, na hawawezi kuona au kufikia cgroups nje ya mti wao wenyewe.
Cgroup namespaces hazitoi moja kwa moja kutengwa kwa rasilimali; zinafanya tu kuonekana kwa ierarkia ya cgroup kuwa ya kubuni. Kudhibiti na kutenga rasilimali bado kunatekelezwa na subsistemi za cgroup (k.m., cpu, kumbukumbu, nk) wenyewe.
Kwa habari zaidi kuhusu CGroups angalia:
pageCGroupsMaabara:
Unda Namespaces Tofauti
CLI
Kwa kusakinisha kifungu kipya cha mfumo wa faili ya /proc
ikiwa unatumia paramu --mount-proc
, unahakikisha kuwa kifungu kipya cha kuziba kinaona taarifa sahihi na iliyotengwa ya mchakato maalum kwa kifungu hicho.
Docker
Angalia ni kwenye namespace gani mchakato wako uko
To check which namespace your process is in, you can use the following command:
Kuangalia ni kwenye namespace gani mchakato wako uko, unaweza kutumia amri ifuatayo:
This command will display the cgroup namespace information for your process.
Tafuta majina yote ya CGroup namespaces
```bash nsenter -C TARGET_PID --pid /bin/bash ``` Pia, unaweza **ingia kwenye namespace ya mchakato mwingine ikiwa wewe ni root**. Na huwezi **kuingia** kwenye namespace nyingine **bila kigeuzi** kinachoelekeza kwake (kama vile `/proc/self/ns/cgroup`).
Marejeo
Last updated