Linux : utilise les cgroups pour contraindre la RAM d'une application !
Spydemon's channel
0:00 / 0:00
Linux : utilise les cgroups pour contraindre la RAM d'une application !
162 просмотра · 2 недели назад
Spydemon's channel
151 подписчик
162 просмотра · 2 недели назад
Travail pratique. On va interdire à une application de dépasser 50 Mo de mémoire vive — pas la surveiller, pas l'avertir : la contraindre, avec le noyau comme garde-fou. Et on va le faire avec trois commandes que vous connaissez déjà : `mkdir`, `echo` et `cat`.
Le point de départ, c'est `/sys`, le voisin mieux rangé de `/proc` vu dans la vidéo précédente. Même principe — zéro octet sur le disque, le noyau fabrique les réponses à la volée — mais avec une discipline stricte : un fichier, une valeur. Et surtout, on peut y écrire.
Un cgroup, pour *control group*, c'est un groupe de processus auquel on attribue des quotas. C'est dans le noyau Linux, et ça se pilote entièrement par des fichiers : on crée le groupe avec un `mkdir` dans `/sys/fs/cgroup`, on pose la limite dans `memory.max` et `memory.swap.max`, on désigne les processus concernés dans `cgroup.procs`.
On ferme le robinet, on relance, l'application est tuée, et on le prouve en lisant le compteur `oom_kill` dans `memory.events`.
Sommaire
00:00 – Introduction
00:28 — /sys
04:18 — Les cgroups
05:49 — Écriture du script qui consomme 100MiB de RAM
09:25 — Réalisation de notre cgroup
14:07 — Emprisonnement du script dans le cgroup
18:25 — Conclusion
Liens utiles
Vidéo précédente : • /proc : le dossier Linux qui ne pèse rien,...
Prochaine vidéo : TODO
Playlist complète : • Apprendre Linux