23 Ağustos 2022 Salı

cgcreate komutu - Grup Yaratma

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
-r seçeneği
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


Hiç yorum yok:

Yorum Gönder