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/