Gestion des cgroups avec systemd
Ce TD est à réaliser dans une machine virtuelle Fedora. Avec les machines vagrant :
$ vagrant up systemd
$ vagrant ssh systemd
Objectifs
- Configurer des limites de ressources avec systemd
cgroups et systemd
En général, systemd créé et configure la majeur partie des cgroups sur un système. Pour lister l’organisation mise en place par systemd :
$ systemd-cgls
Question 1 : Que constatez vous sur l’organisation des services avec les cgroups ?
Les variables (liées aux cgroups
) modifiables à la volée sont listées dans systemd.resource-control(5)
.
Pour réduire dynamiquement et de façon permanente la valeur de CPUQuota
d’un service :
$ sudo systemctl set-property <service> CPUQuota="20%"
Question 2 : Retrouvez les modifications effectuées par systemd
dans l’arbre des cgroups
(/sys/fs/cgroup/
).
Pour effectuer une modification temporaire qui ne sera effective que jusqu’au prochain reboot :
$ sudo systemctl --runtime set-property ...
Activez l’accounting pour quelques services :
$ sudo systemctl set-property <service> CPUAccounting=true MemoryAccounting=true ...
Surveillez l’utilisation des ressources par ces services avec :
$ systemd-cgtop