Kontrolní skupina (Linux)

Řídicí skupina ( anglicky  control group , cgroups [1] , cgroup [2] ) - skupina procesů v Linuxu , u kterých je izolace vnucena mechanismy jádra a omezení jsou kladena na některé výpočetní zdroje (procesor, síť, paměťové zdroje, I / O zdroje). Mechanismus umožňuje vytvářet hierarchické skupiny procesů se specifikovanými vlastnostmi zdrojů a poskytuje nad nimi programovou kontrolu.

Historie

Vývoj zahájili inženýři Google Paul Menage a Rohit Seth v roce 2006 a původně se jmenoval procesní kontejnery [3 ] .  V roce 2007 byl projekt přejmenován na cgroups (z anglického control groups ) kvůli nejednoznačnosti významu pojmu „kontejner“ v linuxovém jádře.  

Od verze 2.6.24 linuxového jádra je tato technologie obsažena v oficiálních verzích jádra [4] . Od té doby se vývoj výrazně zvýšil, do mechanismu bylo přidáno mnoho dalších funkcí, mechanismus je významně využíván v inicializační technologii systemd a je také klíčovým prvkem při implementaci virtualizačního systému na úrovni operačního systému LXC .

Funkce

Jedním z cílů mechanismu je poskytnout jediné programovací rozhraní pro celou řadu nástrojů pro řízení procesů, od řízení jednoho procesu (jako je pěkný nástroj ) až po plnou virtualizaci na systémové úrovni (jako OpenVZ , Linux-VServer , LXC ). Mechanismus poskytuje následující funkce:

Použití

Řídicí skupina ( cgroup ) - soubor procesů sjednocených podle některých charakteristik, seskupení může být hierarchické s dědičností omezení a parametrů nadřazené skupiny. Linuxové jádro poskytuje přístup k mnoha takzvaným kontrolérům (subsystémům) přes rozhraní cgroup [4] , například „paměťový“ řadič omezuje využití RAM, řadič „cpuacct“ zohledňuje využití procesorového času.

Kontrolní skupiny lze spravovat různými způsoby:

Popis instalace a použití mechanismu je obsažen v dokumentaci linuxového jádra.

Poznámky

  1. Snížení platí pro verzi 1
  2. Redukce platí pro verzi 2
  3. Jonathan Corbet . Procesní kontejnery , LWN.net (29. května 2007). Archivováno z originálu 12. června 2017. Staženo 29. prosince 2012.
  4. 1 2 3 Jonathan Corbet . Poznámky z kontejneru , LWN.net (29. října 2007). Archivováno z originálu 22. června 2012. Staženo 29. prosince 2012.
  5. Jonathan Corbet . Řízení využití paměti v kontejnerech , LWN (31. července 2007). Archivováno z originálu 29. ledna 2018. Staženo 29. prosince 2012.
  6. Jonathan Corbet . Prostor jádra: Spravedlivé plánování uživatelů pro Linux , Network World (23. října 2007). Archivováno z originálu 19. října 2013. Staženo 22. srpna 2012.
  7. Kamkamezawa Hiroyu (2008-11-19). Cgroup and Memory Resource Controller (PDF) . Japonské linuxové sympozium. Archivováno z originálu (prezentace PDF) dne 22. 7. 2011 . Staženo 29. 12. 2012 . Archivováno 22. července 2011 na Wayback Machine
  8. 1 2 Dave Hansen. Správa zdrojů (PDF) . Linux Foundation. Archivováno z originálu (prezentace ve formátu PDF) dne 2011-10-09 . Staženo 29. 12. 2012 . Použitý zastaralý parametr |deadlink=( nápověda )
  9. Matt Helsley . LXC: Linuxové kontejnerové nástroje , IBM developerWorks (3. února 2009). Archivováno z originálu 29. října 2012. Staženo 29. prosince 2012.
  10. Grid Engine cgroups Integrace (downlink) . Scalable Logic (22. května 2012). Archivováno z originálu 26. ledna 2013. 

Odkazy