Cgroup¶
Cgroup çalışan süreçleri guruplamak ve kontrol etmek için kullanılır. Bu sayede belli işlemleri kısıtlayabilir veya toplu şekilde yöneteilirsiniz.
Cgroup linux çekirdeğinin bir özelliğidir. Bir çok iş için kullanılabilir. Örneğin servis yöneticisi servisleri çalıştırıp daha sonra sonlandırmak için cgroup kullanır.
Cgroup oluşturma¶
Öncelikle cgroup dizininin bağlandığından emin olun.
mount | grep /sys/fs/cgroup type
>> none on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
Eğer bağlı değilse aşağıdaki gibi bağlayabilirsiniz:
mount -t cgroup2 none /sys/fs/cgroup
Bir cgroup oluştumak için bu dizine bir alt dizin oluşturmalıyız. Çekirdeğimiz bizim için cgroup oluşturacakdır.
mkdir /sys/fs/group/deneme
Süreç ekleme¶
Bir gurubun içerisine aşyağıdaki gibi bir süreç ekleyebilirsiniz.
# örneğin pid değerimiz 1234 olsun
echo 1234 > /sys/fs/cgroup/deneme/cgroup.procs
Not: eklediğimiz sürecin tüm alt süreçleri de bu guruba dahil olacakdır.
Aynı şekilde cgroup içindeki süreçlerin pid değerlerinin listesini öğrenebiliriz.
cat /sys/fs/cgroup/deneme/cgroup.procs
>> 1234
Cgroup silme¶
Öncelikle cgroup içerisindeki tüm süreçleri kapatalım.
echo 1 > /sys/fs/cgroup/deneme/cgroup.kill
Ardından dizinimizi silelim
rmdir /sys/fs/cgroup/deneme/