# Comment limiter la mémoire de tous les processus d'un utilisateur ?

**URL:** <https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029>\
**Category:** Support Debian\
**Created:** [Avril 10, 2019, 11:21 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029 "2019-04-10T11:21:01Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![bobak69](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e274bd/32.png) [@bobak69](https://www.debian-fr.org/u/bobak69)\
**Post date:** [Avril 10, 2019, 11:21 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/1 "2019-04-10T11:21:01Z")

</div>

Bonjour,

Comment faites-vous pour limiter la mémoire globale de tous les processus d’un pool PHP-FPM ?

php\_admin\_value[memory\_limit]=XX permet de limité la mémoire un processus et moi je cherche a limité la somme de tous les processus d’un utilisateur (d’un pool PHP-FPM).

J’ai vérifié aussi le prlimit et /etc/security/limits.conf mais ils fonctionnent aussi par processus d’un utilisateur.

Avez-vous une idée comment le faire ?

---

<div class="post-metadata">

**Author:** ![anon16237994](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/ac91a4/32.png) [@anon16237994](https://www.debian-fr.org/u/anon16237994)\
**Post date:** [Avril 10, 2019, 12:51 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/2 "2019-04-10T12:51:17Z")

</div>

je ne suis pas certain car je decouvre php-fpm mais apparement c’est pm.max\_children et autre children

> **[Configurer les workers de php-fpm pour traiter la charge](https://www.deltasight.fr/configurer-workers-php-fpm/)**
>
> Le daemon php-fpm est intéressant pour exécuter les codes PHP pour le serveur web. Son usage est obligatoire avec nginx, et possible avec apache2 en remplacement de l’ancien mod\_php. Les avantages sont multiples : meilleures performances, plus grande...

---

<div class="post-metadata">

**Author:** ![bobak69](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e274bd/32.png) [@bobak69](https://www.debian-fr.org/u/bobak69)\
**Post date:** [Avril 10, 2019, 1:57 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/3 "2019-04-10T13:57:32Z")

</div>

Merci d’avoir repue, mon problème que tout le PHP-FPM se base sur une limitation de mémoire qui est définie par children, or moi je recherche une limitation globale.  
En gros, si j’ai 10 children de 100M ça fait 10\*100M=1G de mémoire, or moi je veux dire 100M par children oui, mais pas plus 500M en tous tout en autorisent les 10 children.

---

<div class="post-metadata">

**Author:** ![bobak69](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e274bd/32.png) [@bobak69](https://www.debian-fr.org/u/bobak69)\
**Post date:** [Avril 10, 2019, 2:00 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/4 "2019-04-10T14:00:23Z")

</div>

Plus généralement, est-il possible de définir sous Debian une limite global de mémoire maximum allouer à tous les processus d’un utilisateur ?

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Avril 10, 2019, 3:27 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/5 "2019-04-10T15:27:04Z")

</div>

> [@bobak69](#):
>
> une limite global de mémoire maximum allouer à tous les processus d’un utilisateur ?

Avec les cgroups, mais ça ne répondra pas à ton souci actuelle.

---

<div class="post-metadata">

**Author:** ![bobak69](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e274bd/32.png) [@bobak69](https://www.debian-fr.org/u/bobak69)\
**Post date:** [Avril 10, 2019, 4:58 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/6 "2019-04-10T16:58:14Z")

</div>

Il semble que c’est exactement ce que je recherche, par contre je ne sais pas comment assigner automatiquement les processus d’un utilisateur (mon pool du PHP-FPM) a un groupe créé avec cgroups (cgm).

Il y a bien la méthode manuelle (echo pid \> /sys/fs/cgroup/memory/groupname/cgroup.procs) mais je recherche quelque chose d’automatiser, avez-vous un outil ou un paramétrage a me proposer ?

---

<div class="post-metadata">

**Author:** ![Clochette](https://www.debian-fr.org/user_avatar/www.debian-fr.org/clochette/32/8757_2.png) [@Clochette](https://www.debian-fr.org/u/Clochette)\
**Post date:** [Avril 11, 2019, 8:19 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/7 "2019-04-11T08:19:12Z")

</div>

> [@bobak69](#):
>
> Il y a bien la méthode manuelle (echo pid \> /sys/fs/cgroup/memory/groupname/cgroup.procs) mais je recherche quelque chose d’automatiser, avez-vous un outil ou un paramétrage a me proposer ?

Je ne connais pas à ce jour de mécanisme automatique, et pour moi la plus simple en générale est de passé par des micro services limité par l’orchestrateur Kubernetes …

En tout cas bonne lecture car cgroup et namespace sont sur une autre planète informatique à l’instar de selinux …

> **[cgroups(7) — manpages — Debian stretch — Debian Manpages](https://manpages.debian.org/stretch/manpages/cgroups.7.en.html)**

Par contre une fois la limitation en place comment à ton avis va réagir ton pool si il tape la limite (et là c’est le drame … ça plante ou pas ?, comment le monitorer du coup ?, utilisation de supervisord pour la relance du pool de façon automatique sur un event ?) 🥺

---

<div class="post-metadata">

**Author:** ![bobak69](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/b/e274bd/32.png) [@bobak69](https://www.debian-fr.org/u/bobak69)\
**Post date:** [Avril 11, 2019, 10:49 UTC](https://www.debian-fr.org/t/comment-limiter-la-memoire-de-tous-les-processus-dun-utilisateur/79029/8 "2019-04-11T10:49:40Z")

</div>

L’automatisation est bien possible avec le couple cgconfigparser et cgrulesengd.  
[https://myles.sh/configuring-lxc-unprivileged-containers-in-debian-jessie/](https://myles.sh/configuring-lxc-unprivileged-containers-in-debian-jessie/)

Actuellement le processus du pool PHP-FPM est tous simplement killer et un nouveau démarre automatiquement.
