Wpis z mikrobloga

Jakiś dobry człowiek może mi wytłumaczyć jak cgroup ma się do POSIXowych grup procesów? To jest ich implementacja dodatkowo dająca możliwość zarządzania zasobami (pamięć, cpu) na całą grupę? Rozumiem założenie i cel ich istnienia, bardziej mnie zastanawia jak ich hierarchia ma się do hierarchii w drzewie procesów?

#kernel #linux #centos
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@GoodbyeCruelWorld: Nie wiem czy dobrze rozumiem twoje pytanie, ale cgroupy to po prostu grupy procesów, ktore maja nalozone takie same restrykcje. Wiec imo tutaj nie ma zadnej hierarchii, ot po prostu grupowanie procesów pod katem pewnych wymagan i odpowiednia ich obsluga.
  • Odpowiedz
@less_is_more: chyba załapałem na czym polegają cgroupy i czemu służą
ale zobacz że w ramach cgroup masz scope'y i serwisy, które są grupami procesów - wyodrębnienie jakiegoś procesu do nowej cgroupy sprawia, że nie należy on już w hierarchii procesów do wcześniejszego rodzica i powstaje nowa grupa procesów
czyli struktura cgroup jest powiązana z hierarchią procesów i grupami procesów w rozumieniu POSIXowym
  • Odpowiedz
@less_is_more: ja widzę jak to działa - zarządzanie zasobami i że każdy proces poza systemd jest w jakiejś cgroupie
czyli de facto każdy proces w hierarchii będący pod rootem jest w cgroupie nad którymi jeszcze są slice'y, service'y i scope'y
bardziej mnie zastanawiało powiązanie tych cgroup z hierarchią procesów - czyli liderami grup procesów i przepływem sygnałów - czyli co się stanie jak przeniesiesz jakiś proces do nowej cgroupy
  • Odpowiedz
powiązanie tych cgroup z hierarchią procesów - czyli liderami grup procesów i przepływem sygnałów - czyli co się stanie jak przeniesiesz jakiś proces do nowej cgroupy


@GoodbyeCruelWorld: Kazdy proces dziedziczy po rodzicu, nadrzednym procesem jest init, cgroupy tez sa dziedziczne. Przeniesienie procesu do nowej cgrupy? Musialbys spojrzec w kod cgclassify, wedlug mnei po prostu proces jest wciskany w nowa cgroupe czyli de facto opakowaywany w jakies restrykcje. Cgroupy wedlug mnie
  • Odpowiedz
@GoodbyeCruelWorld: soory, źle cię zrozumiałem ale ogólnie to cgroup to namespace na procesy. Dokładnie to samo co jest podstawą działania kontenerów linuksowych.

@less_is_more:

Musialbys spojrzec w kod cgclassify, wedlug mnei po prostu proces jest wciskany w nowa cgroupe czyli de facto opakowaywany w jakies restrykcje


Z tego co kojarzę możesz przenieść działający proces do innej cgroup.
  • Odpowiedz