Ceci est une ancienne révision du document !
Notes cgroup
Voir :
Tester si tous est ok
apt-get install lxc
lxc-checkconfig
ou
apt-get install docker.io /usr/share/docker.io/contrib/check-config.sh
Dans Debian :mount cgroup automatically in mountkernfs.
Normalement sous Debian, les cgroup sont automatiquement montés (dans le mountkernfs)
$ mount |grep cgroup none on /sys/fs/cgroup type tmpfs (rw,relatime,size=4k,mode=755) systemd on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,name=systemd)
Si ce n'est pas le cas, la technique d'ajouter dans /etc/fstab
/etc/fstab
cgroup /cgroup cgroup defaults 0 0
ou alors passer à systemd
apt-get install systemd systemd-sysv
Voir :
Mais comme nous choisissons la méthode avec des services (méthode à la Redhat)
Pour connaître les ?????
prit en charge par le noyau
# lssubsys -a cpuset cpu cpuacct memory devices freezer net_cls blkio perf_event
Install du packet
apt-get update && apt-get install -y cgroup-tools
Puis
dpkg -L cgroup-tools
Donc
mkdir /etc/sysconfig/ cp -p /usr/share/doc/cgroup-tools/examples/cgconfig.sysconfig /etc/sysconfig/cgconfig cp -p /usr/share/doc/cgroup-tools/examples/cgred.conf /etc/sysconfig/cgred cp -p /usr/share/doc/cgroup-tools/examples/cgred /etc/init.d/ cp -p /usr/share/doc/cgroup-tools/examples/cgconfig /etc/init.d/ cp -p /usr/share/doc/cgroup-tools/examples/cgconfig.conf /etc/ cp -p /usr/share/doc/cgroup-tools/examples/cgrules.conf /etc/ chmod a+x /etc/init.d/cgconfig /etc/init.d/cgred ln -s /etc/sysconfig/cgconfig /etc/default/ ln -s /etc/sysconfig/cgred /etc/default/ sed -i -e 's|/var/lock/subsys/|/var/lock/|g' /etc/init.d/cgred sed -i -e 's|/var/lock/subsys/|/var/lock/|g' /etc/init.d/cgconfig getent group cgred >/dev/null || groupadd -r cgred
Puis prendre le fichier /etc/rc.d/init.d/functions sur une CentOS.
mkdir -p /etc/rc.d/init.d/ cp -p functions /etc/rc.d/init.d/
Commenter la ligne [ -z “${CONSOLETYPE:-}” ] && CONSOLETYPE=“$(/sbin/consoletype)“
vi /etc/rc.d/init.d/functions
Puis
mkdir /cgroup cd /cgroup mkdir $(lssubsys -a)
Erreur sous Debian :
# /etc/init.d/cgconfig start Starting cgconfig service: Error: cannot mount memory to /cgroup/memory: No such file or directory /usr/sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed [FAIL] Failed to parse /etc/cgconfig.conf ... failed!
Solution : rajouter “cgroup_enable=memory swapaccount=1” à votre Grub :
/etc/default/grub
GRUB_CMDLINE_LINUX="vga=795 cgroup_enable=memory swapaccount=1"
update-grub
Pour le debug si nécessaire :
export CGROUP_LOGLEVEL=debug
Autres
allocated 133693440 bytes of page_cgroup please try 'cgroup_disable=memory' option if you don't want memory cgroups
/etc/fstab
cgroup /sys/fs/cgroup cgroup defaults 0 0
/etc/default/grub
GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"
sudo apt-get install cgroup-tools sudo cgcreate -a jean -g memory:plop echo 10000000 > /sys/fs/cgroup/memory/plop/memory.kmem.limit_in_bytes sudo cgexec -g memory:plop bash
cgroupv1 ou v2 ?
podman info docker info mount | grep cgroup2 systemctl --user status grep cgroup /proc/filesystems
Pour passer à la version 2
grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"
