Giriş
1. cgcreate ile grup yarattıktan sonra cgset komutu ile gruba kaynak ayrılır
2. cgexec ile uygulamalar çalıştırılırken grupları belirtilir.
-g seçeneği
Örnek - memory
Şöyle yaparız. Burada "/sys/fs/cgroup/memory/my-process" isimli dizinde belleği sınırlandırılmış kaynaklar görülür
sudo cgcreate -g memory:my-process
Bu kaynağı kullanan bash yaratmak için şöyle yaparız
$ sudo cgexec -g memory:my-process bash
root@cgroup:~#
Bu kayanğı kullanan ve farklı bir namespace içinde bash yaratmak için şöyle yaparız
$ sudo cgexec -g cpu,memory:my-process \
unshare -uinpUrf --mount-proc \
sh -c "/bin/hostname my-process && chroot mktemp -d /bin/sh"
Örnek - cpu
Şöyle yaparız. Burada tarayıcıya az işlemci gücü ayrılıyor
# you might need to create the right mountpoints first
sudo mkdir /sys/fs/cgroup/cpu
sudo mount -t cgroup -o cpu cpu /sys/fs/cgroup/cpu
# Create a group that controls `cpu` allotment, called `/browser`
sudo cgcreate -g cpu:/browser
# Create a group that controls `cpu` allotment, called `/important`
sudo cgcreate -g cpu:/important
# allocate few shares to your `browser` group, and many shares of the CPU time to the
# `important` group.
sudo cgset -r cpu.shares=128 browser
sudo cgset -r cpu.shares=1024 important
cgexec -g cpu:browser chromium --incognitio
cgexec -g cpu:important make -j10 #or whatever
Grubu siler
Örnek
Şöyle yaparız
# Creating a cgroup.
sudo cgcreate -g cpu,memory:$UUID
# Set up a limit memory for this cgroup.
sudo cgset -r memory.limit_in_bytes=100000000 $UUID
# Set up a limit CPU for this cgroup.
sudo cgset -r cpu.shares=512 $UUID &&
sudo cgset -r cpu.cfs_period_us=1000000 $UUID &&
sudo cgset -r cpu.cfs_quota_us=2000000 $UUID
# Creating a container.
sudo cgexec -g cpu,memory:$UUID unshare -uinpUrf --mount-proc sh
-c "/bin/hostname $UUID && chroot $ROOTFS /bin/sh"
# Deleting this cgroup.
sudo cgdelete -r -g cpu,memory:$UUID