CPU
, Memory
, Network
, Device
, Block I/O
oci runtime
blkio
, cpu
, cpuacct
, cpuset
, devices
, freezer
, memory
, net_cls
, ns
cpu
: 스케줄러를 이용해 해당 cgroup
에 속한 프로세스 CPU 사용 시간 제어memory
: 해당 cgroup
에 속한 프로세스의 메모리 사용량에 대한 제어oom_control
)freezer
: cgroup
의 작업을 일시 중지하거나 다시 시작docker pause
blkio
: cgorup
에 블록 장치에 대한 입출력 제한 설정 (저장 공간 제한 개념 아님)net_cls
: 이 서브시스템은 Linux 트래픽 컨트롤러 (tc
)가 특정 group
작업에서 발생하는 패킷을 식별하게 하는 classid
를 사용하여 네트워크 패킷에 태그를 지정cpuset
: 개별 CPU 및 메모리 노드를 cgroup
에 할당cpuacct
: cgroup
이 사용한 CPU 자원에 대한 보고서를 생성devices
: cgroup
의 작업 단위로 장치에 대한 액세스를 허용하거나 거부ns
: namespace
서브시스템stress tool
로 cpu load
증가시키기$ sudo apt install stress
$ sudo su
# cd /sys/fs/cgroup
cgroup 속성은 디렉토리 형태로 제공되어, echo로 속성 값 변경 가능
(/sys/fs/cgroup) # cd cpu
(/sys/fs/cgroup) # ls
(/sys/fs/cgroup) # mkdir utils <-- control group명 utils 생성
(/sys/fs/cgroup) # cd utils
(/sys/fs/cgroup/utils) # ls
(/sys/fs/cgroup/utils) # echo $$ <-- 터미널의 프로세스 출력
5926
(/sys/fs/cgroup/utils) # echo $$ > tasks
(/sys/fs/cgroup/utils) # stress -c 1 <-- -c 1 은 코어 1개