Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.2. 子​​​系​​​統​​​、​​​階​​​層​​​、​​​控​​​制​​​群​​​組​​​與​​​工​​​作​​​之​​​間​​​的​​​關​​​係​​​

請​​​記​​​得​​​,在​​​控​​​制​​​群​​​組​​​術​​​語​​​中​​​,系​​​統​​​程​​​序​​​會​​​被​​​稱​​​為​​​工​​​作​​​。​​​
以​​​下​​​為​​​幾​​​項​​​子​​​系​​​統​​​、​​​cgroup 階​​​層​​​與​​​工​​​作​​​之​​​間​​​之​​​關​​​係​​​上​​​的​​​規​​​則​​​,以​​​及​​​這​​​些​​​規​​​則​​​的​​​相​​​關​​​解​​​釋​​​。​​​
規​​​則​​​ 1

任​​​何​​​單​​​獨​​​子​​​系​​​統​​​(例​​​如​​​ cpu)最​​​多​​​皆​​​可​​​連​​​接​​​至​​​一​​​個​​​階​​​層​​​。​​​

因​​​為​​​如​​​此​​​,cpu 子​​​系​​​統​​​無​​​法​​​連​​​至​​​兩​​​個​​​不​​​同​​​的​​​階​​​層​​​。​​​
規​​​則​​​ 2

一​​​個​​​階​​​層​​​能​​​夠​​​連​​​接​​​一​​​個​​​或​​​更​​​多​​​個​​​子​​​系​​​統​​​。​​​

因​​​此​​​,cpu 和​​​ memory 子​​​系​​​統​​​(或​​​任​​​何​​​數​​​量​​​的​​​子​​​系​​​統​​​)能​​​連​​​接​​​至​​​一​​​個​​​單​​​獨​​​的​​​階​​​層​​​,不​​​過​​​它​​​們​​​不​​​可​​​連​​​至​​​任​​​何​​​其​​​它​​​階​​​層​​​。​​​
規​​​則​​​ 3

每​​​當​​​系​​​統​​​上​​​建​​​立​​​了​​​新​​​的​​​階​​​層​​​,系​​​統​​​上​​​的​​​所​​​有​​​工​​​作​​​一​​​開​​​始​​​都​​​會​​​是​​​該​​​階​​​層​​​的​​​預​​​設​​​控​​​制​​​群​​​組​​​的​​​成​​​員​​​,該​​​控​​​制​​​群​​​組​​​亦​​​稱​​​為​​​ root cgroup。​​​當​​​您​​​建​​​立​​​了​​​任​​​何​​​一​​​個​​​階​​​層​​​時​​​,系​​​統​​​上​​​的​​​各​​​項​​​工​​​作​​​,都​​​只​​​能​​​是​​​該​​​階​​​層​​​中​​​一​​​個​​​ cgroup 的​​​成​​​員​​​。​​​一​​​項​​​單​​​獨​​​的​​​工​​​作​​​能​​​包​​​含​​​在​​​多​​​個​​​控​​​制​​​群​​​組​​​中​​​,只​​​要​​​這​​​些​​​控​​​制​​​群​​​組​​​皆​​​位​​​於​​​不​​​同​​​的​​​階​​​層​​​中​​​。​​​當​​​工​​​作​​​成​​​為​​​相​​​同​​​階​​​層​​​中​​​,第​​​二​​​個​​​控​​​制​​​群​​​組​​​的​​​成​​​員​​​時​​​,它​​​便​​​會​​​被​​​由​​​該​​​階​​​層​​​中​​​的​​​第​​​一​​​個​​​控​​​制​​​群​​​組​​​中​​​移​​​除​​​。​​​一​​​項​​​工​​​作​​​不​​​會​​​有​​​任​​​何​​​時​​​候​​​處​​​於​​​相​​​同​​​階​​​層​​​中​​​的​​​兩​​​個​​​控​​​制​​​群​​​組​​​中​​​。​​​

因​​​此​​​,若​​​ cpu 和​​​ memory 子​​​系​​​統​​​連​​​至​​​了​​​一​​​個​​​名​​​為​​​ cpu_and_mem 的​​​階​​​層​​​,並​​​且​​​ net_cls 子​​​系​​​統​​​連​​​至​​​了​​​一​​​個​​​名​​​為​​​ net 的​​​階​​​層​​​,那​​​麼​​​一​​​項​​​執​​​行​​​中​​​的​​​ httpd 程​​​序​​​便​​​能​​​成​​​為​​​ cpu_and_mem 中​​​,任​​​何​​​一​​​個​​​控​​​制​​​群​​​組​​​的​​​成​​​員​​​,以​​​及​​​ net 中​​​,任​​​何​​​一​​​個​​​控​​​制​​​群​​​組​​​的​​​成​​​員​​​。​​​
cpu_and_mem 裡​​​、​​​屬​​​於​​​ http 程​​​序​​​之​​​控​​​制​​​群​​​組​​​,可​​​能​​​會​​​將​​​它​​​的​​​ CPU 時​​​間​​​限​​​制​​​為​​​其​​​它​​​程​​​序​​​所​​​配​​​置​​​的​​​一​​​半​​​,並​​​將​​​它​​​的​​​記​​​憶​​​體​​​使​​​用​​​量​​​限​​​制​​​為​​​最​​​大​​​ 1,024 MB。​​​此​​​外​​​,在​​​ net 中​​​,它​​​所​​​屬​​​的​​​控​​​制​​​群​​​組​​​可​​​能​​​會​​​將​​​它​​​的​​​傳​​​輸​​​率​​​限​​​制​​​為​​​每​​​秒​​​ 30 MB。​​​
當​​​第​​​一​​​個​​​階​​​層​​​被​​​建​​​立​​​時​​​,系​​​統​​​上​​​的​​​所​​​有​​​工​​​作​​​都​​​會​​​屬​​​於​​​至​​​少​​​一​​​個​​​控​​​制​​​群​​​組​​​中​​​的​​​成​​​員​​​:root cgroup。​​​因​​​此​​​當​​​使​​​用​​​控​​​制​​​群​​​組​​​時​​​,所​​​有​​​系​​​統​​​工​​​作​​​皆​​​會​​​屬​​​於​​​至​​​少​​​一​​​個​​​ cgroup。​​​
規​​​則​​​ 4

系​​​統​​​上​​​任​​​何​​​會​​​自​​​行​​​分​​​叉​​​的​​​程​​​序​​​(工​​​作​​​),皆​​​會​​​建​​​立​​​一​​​項​​​子​​​程​​​序​​​(工​​​作​​​)。​​​子​​​工​​​作​​​會​​​自​​​動​​​地​​​成​​​為​​​其​​​父​​​程​​​序​​​所​​​屬​​​之​​​所​​​有​​​控​​​制​​​群​​​組​​​的​​​成​​​員​​​。​​​接​​​著​​​,子​​​工​​​作​​​便​​​可​​​視​​​需​​​求​​​被​​​移​​​至​​​不​​​同​​​的​​​控​​​制​​​群​​​組​​​,不​​​過​​​一​​​開​​​始​​​,它​​​總​​​是​​​會​​​繼​​​承​​​其​​​父​​​工​​​作​​​的​​​控​​​制​​​群​​​組​​​(以​​​程​​​序​​​的​​​術​​​語​​​來​​​講​​​為​​​「​​​環​​​境​​​」​​​)。​​​

因​​​此​​​,請​​​考​​​量​​​ httpd 工​​​作​​​,它​​​是​​​個​​​在​​​ cpu_and_mem 階​​​層​​​中​​​,名​​​為​​​ half_cpu_1gb_max 的​​​控​​​制​​​群​​​組​​​中​​​的​​​成​​​員​​​,並​​​且​​​也​​​是​​​ net 階​​​層​​​中​​​,一​​​個​​​名​​​為​​​ trans_rate_30 的​​​控​​​制​​​群​​​組​​​中​​​的​​​成​​​員​​​。​​​當​​​該​​​ httpd 程​​​序​​​將​​​它​​​自​​​己​​​分​​​支​​​時​​​,它​​​的​​​子​​​程​​​序​​​將​​​會​​​自​​​動​​​地​​​成​​​為​​​ half_cpu_1gb_max 控​​​制​​​群​​​組​​​以​​​及​​​ trans_rate_30 控​​​制​​​群​​​組​​​的​​​成​​​員​​​。​​​它​​​會​​​繼​​​承​​​其​​​父​​​工​​​作​​​所​​​屬​​​的​​​相​​​同​​​的​​​控​​​制​​​群​​​組​​​。​​​
在​​​這​​​之​​​後​​​,父​​​工​​​作​​​與​​​子​​​工​​​作​​​便​​​會​​​是​​​完​​​全​​​獨​​​立​​​的​​​:更​​​改​​​一​​​項​​​工​​​作​​​所​​​屬​​​的​​​控​​​制​​​群​​​組​​​不​​​會​​​影​​​響​​​其​​​它​​​工​​​作​​​。​​​更​​​改​​​父​​​工​​​作​​​的​​​控​​​制​​​群​​​組​​​亦​​​不​​​會​​​對​​​其​​​子​​​工​​​作​​​有​​​任​​​何​​​影​​​響​​​。​​​概​​​述​​​:所​​​有​​​子​​​工​​​作​​​一​​​開​​​始​​​皆​​​會​​​繼​​​承​​​與​​​其​​​父​​​工​​​作​​​相​​​同​​​的​​​控​​​制​​​群​​​組​​​成​​​員​​​資​​​格​​​,然​​​而​​​這​​​些​​​成​​​員​​​資​​​格​​​可​​​之​​​後​​​更​​​改​​​或​​​移​​​除​​​。​​​