# Limiter la consommation CPU de aide

**URL:** <https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083>\
**Category:** Support Debian\
**Created:** [Avril 2, 2025, 1:27 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083 "2025-04-02T13:27:48Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 2, 2025, 1:27 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/1 "2025-04-02T13:27:48Z")

</div>

Bonjour,  
J’utilise aide sur mes systèmes.  
Le problème pour certain, c’est que celui-ci est très consommateur de CPU (90% de moyen avec des pics de plusieurs secondes à 100%).  
J’ai vu qu’avec les cgroup on peut faire en sorte de limiter la consommation d’un service ou d’un process.  
Mais c’est assez mal documenté et pas simple à mettre en place.

Y-a-t-il quelqu’un qui s’est frotté au sujet?

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Avril 2, 2025, 2:12 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/2 "2025-04-02T14:12:20Z")

</div>

Tu peux essayer `taskset` qui colle un processus à un ou plusieurs cœurs.

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 2, 2025, 2:42 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/3 "2025-04-02T14:42:50Z")

</div>

Non cette solution est insuffisante et n’empêche pas réellement la nuisance.  
Qui plus est cette commande ne semble pas pouvoir être paramétrée au niveau du système, mais à la volée.  
Je n’ai ps envie d’avoir à lancer des commande à chaque lancement de aide.  
Je ne veux pas non plus bidouiller les processus de lancement standards qui seront de toute façon écrasés à la prochaine mise à jour.  
Je veux que aide ne puisse jamais dépasser un certain pourcentage d’utilisation d’un cœur de processeur, quelque soit ce cœur.

cgroup-tools semble le faire correctement, mais je n’ai pas réussi à faire la configuration. La documentation est très peu didactique.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Avril 2, 2025, 8:15 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/4 "2025-04-02T20:15:31Z")

</div>

> **[bash - shell - un certain nombre de programmes](https://dindoun.lautre.net/spip.php?article110&var_mode=calcul)**
>
> cpulimit : limiter l’utilisation de l’ordi 
> 
> sudo apt-get install cpulimit limiter l’utilisation de l’ordi par un programme 
> 
> il faut d’abord (…)

cpulimit : limiter l’utilisation de l’ordi

sudo apt-get install cpulimit

```
limiter l’utilisation de l’ordi par un programme
il faut d’abord récupérer le PID
    si on connaît le nom du programme, par exemple ici blender4 : ps -C blender4 -o pid=
    on obitent un nombre (ou plusieurs ) : 771928
un ordinateur contient plusieurs "coeurs" , chacun compte pour 100% ainsi 8 coeurs = 800%.
    exemple : on autorise la moitié de la puissance de l’ordi à 8 coeurs pour blender4 , soit 400% : cpulimit -l 400 -p 771928

```

(d’après [Comment limiter l'utilisation du processeur d'un processus sous Linux](https://fr.linux-terminal.com/?p=5438))  
cputool : limiter l’utilisation de l’ordi

sudo apt-get install cpuset  
attention , cputool marche avec 1024 = 100%

```
limiter l’utilisation du processeur d’un processus portant l’ID 1234 à 50 % : sudo cpuset -p 1234 -u 512
allouer uniquement les cœurs de processeur 0 et 1 au processus portant l’ID 1234 : sudo cpuset -p 1234 -l 0,1
regroupement de processus :

créer un groupe : sudo mkdir /sys/fs/cgroup/cpuset/mycpuset
déplacer les processus dans le cpuset : echo 1234 | sudo tee /sys/fs/cgroup/cpuset/mycpuset/tasks
limiter l’utilisation du processeur du cpuset "mycpuset" à 20% : echo 20 | sudo tee /sys/fs/cgroup/cpuset/mycpuset/cpu.shares

```

( d’après [CPUTool - Limiter et contrôler l'utilisation du processeur de n'importe quel processus sous Linux](https://fr.linux-console.net/?p=22930) )

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 2, 2025, 8:16 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/5 "2025-04-02T20:16:59Z")

</div>

J’ai vu aussi, masi pareil, c’est à faire manuellement à chaque fois il me semble. Ou pour être plus exact, il faut que le processus soit déjà lancé.  
Ce que je veux c’est pouvoir automatiquement limiter le CPU d’une application.

---

<div class="post-metadata">

**Author:** ![yatta](https://www.debian-fr.org/user_avatar/www.debian-fr.org/yatta/32/12132_2.png) [@yatta](https://www.debian-fr.org/u/yatta)\
**Post date:** [Avril 2, 2025, 11:21 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/6 "2025-04-02T23:21:04Z")

</div>

si tu utiliser systemd, il existe quelques options  
[https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html](https://www.freedesktop.org/software/systemd/man/latest/systemd.resource-control.html)

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Avril 4, 2025, 5:47 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/7 "2025-04-04T17:47:15Z")

</div>

d’après man cpulimit  
cpulimit -l 25 – firefox -private  
Launch Firefox web browser in private mode and limit its CPU usage to 25%

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 4, 2025, 11:00 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/8 "2025-04-04T23:00:21Z")

</div>

Sauf qu eje ne veux pas avoir à le faire par lancement manuel.

Aide est en service automatique au démarrage et se déclenche vie dailyaidecheck. Donc je veux intégrer cette limitation du cpu au système lui même; de façon que la limitation soit activée dès que aide est lancé quelque soit la façon dont il est exécuté.  
Ca semble possible avec cgroup, mais soit j’ai un groupe mais pas les paramètres soit j’ai les paramètres mais impossible de mettre en place le groupe.  
Et les how to éventuels sont trop peu documentés (voir inexact dans certains cas)

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Avril 5, 2025, 2:28 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/9 "2025-04-05T02:28:01Z")

</div>

je ne connais ni dailyaidecheck ni aide, mais ne pourrais-tu pas simplement remplacer  
-\* dans dailyaidecheck le lancement de /usb/bin/aide par le lancement de /opt/aide.sh qui contient cpulimit -l 25 – aide ?  
je viens de regarder ça paraît compliqué :;  
pourquoi pas écrire déplacer /usr/bin/aide dans /opt/usr\_bin/ et écrire dans /usr/bin/aide  
#!/bin/bash  
cpulimit -l 25 – /opt/usr\_bin/aide

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 5, 2025, 9:43 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/10 "2025-04-05T09:43:51Z")

</div>

> [@dindoun](#):
>
> je ne connais ni dailyaidecheck ni aide, mais ne pourrais-tu pas simplement remplacer  
> -\* dans dailyaidecheck le lancement de /usb/bin/aide par le lancement de /opt/aide.sh qui contient cpulimit -l 25 – aide ?

Tu vas me trouver chiant 😉  
Mais bon, je ne bidouille pas. Car ce type de solution n’est pas maintenable ne serait-ce qu’à court ou moyen terme.  
La première mise à jour venu écrasera ce que j’ai fait.  
Et en plus, ce n’est pas propre.  
Déjà déplacer /us/bin/aide dans /opt/usr\_bin c’est du bricolage.  
Je préfère trouver le moyen d’utiliser les fonctionnalités qui existe mais que pour une raison que je ne maîtrise pas, je n’arrive pas à faire.

Tous les système que je met en place utilise des fonctionnalités qui sont prévues pour ça.  
Si je doit faire évoluer mon pot d’échappement je prend un pot qui est conçu pour la voiture et pour la fonctionnalité prévue et fixée avec les fixations prévues pour lui.  
Pas de fil de fer, de bout de ficelle ou de scotch 🙂

D’autant qu’avec ce genre de solution, quelques mois plus tard on ne s’en souvient plus et on se retrouve avec des problèmes XY dans tous les coins.

En plus, j’utilise aide sur tous mes systèmes.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Avril 5, 2025, 12:23 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/11 "2025-04-05T12:23:22Z")

</div>

> [@Zargos](#):
>
> Et en plus, ce n’est pas propre.

je trouve aussi 🙂

cette page a l’air intéressante : [https://www.golinuxcloud.com/cgroup-limit-cpu-usage-linux/](https://www.golinuxcloud.com/cgroup-limit-cpu-usage-linux/)

---

<div class="post-metadata">

**Author:** ![Archinformatique](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e19b73/32.png) [@Archinformatique](https://www.debian-fr.org/u/Archinformatique)\
**Post date:** [Avril 5, 2025, 3:26 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/12 "2025-04-05T15:26:01Z")

</div>

Tu peux essayer cela si tu ne l’a pas déjà fait : Limitation via `systemd` en configurant le service `aidecheck.service`

Si `aide` est lancé par `dailyaidecheck.timer` , alors ce `*.timer` appelle probablement un service `dailyaidecheck.service` . C’est ce service qu’il faut configurer avec une unité `override` .  
Pour vérifier le service exact

> systemctl list-timers | grep aide

Ensuite créer un drop-in avec la limitation CPU

> sudo systemctl edit dailyaidecheck.service

Ajoute ceci

> [Service]  
> CPUQuota=20%

De même que tu peux aussi fixer un nombre de CPU avec `AllowedCPUs=0,1` par exemple, si tu veux restreindre à certains cœurs.

Faire ensuite un reload et un teste sans attendre le prochain timer qui te permettra de suivre l’utilisation du CPU

---

<div class="post-metadata">

**Author:** ![Archinformatique](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e19b73/32.png) [@Archinformatique](https://www.debian-fr.org/u/Archinformatique)\
**Post date:** [Avril 5, 2025, 3:34 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/13 "2025-04-05T15:34:50Z")

</div>

Autre question : est-ce à appliquer à tous les processus `aide` , même hors service ?

---

<div class="post-metadata">

**Author:** ![LibreFaso](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/4da419/32.png) [@LibreFaso](https://www.debian-fr.org/u/LibreFaso)\
**Post date:** [Avril 11, 2025, 4:29 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/14 "2025-04-11T16:29:12Z")

</div>

Vu que j’ai peu de chances de trouver de quoi il s’agit sur un moteur de recherche (vu la généralité du mot-clé) : juste par curiosité, c’est quoi aide ?

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 12, 2025, 8:40 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/15 "2025-04-12T08:40:55Z")

</div>

> [@Archinformatique](#):
>
> Autre question : est-ce à appliquer à tous les processus `aide` , même hors service ?

Qu’est-èce que tu entends par hors service? si aide ne s’exécute pas, il n’est pas impliqué. L’idée c’est de limiter sa consommation CPU dès qu’il y a un processus aide lancé, quoi qu’il fasse.

> [@LibreFaso](#):
>
> Vu que j’ai peu de chances de trouver de quoi il s’agit sur un moteur de recherche (vu la généralité du mot-clé) : juste par curiosité, c’est quoi aide ?

Advanced Intrusion Detection Environment (AIDE)

> [@Archinformatique](#):
>
> Ajoute ceci
> 
> > [Service]  
> > CPUQuota=20%

Je n’avais pas eu le temps de l’appliquer mais effectivement j’avais trouvé une page sur le sujet. Merci.  
J’ai mis en place, et ça marche avec une précision de 2 à 5% près mais c’est suffisant pour mon besoin. Le CPU reste compris entre 49 et 52.  
Aide utilise un seul coeur à chaque fois, mais non déterministe. Donc pour le moment je n’utilise pas le positionnement du cœur.

---

<div class="post-metadata">

**Author:** ![Archinformatique](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e19b73/32.png) [@Archinformatique](https://www.debian-fr.org/u/Archinformatique)\
**Post date:** [Avril 12, 2025, 2:01 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/16 "2025-04-12T14:01:10Z")

</div>

> Qu’est-èce que tu entends par hors service? si aide ne s’exécute pas, il n’est pas impliqué. L’idée c’est de limiter sa consommation CPU dès qu’il y a un processus aide lancé, quoi qu’il fasse.

Si AIDE est exécuté en dehors d’un service systemd — par exemple, lancé manuellement depuis un terminal ou via un script indépendant de systemd — alors les limitations définies dans `dailyaidecheck.service` ne s’appliqueront pas\*\* . Ces réglages (comme `CPUQuota=` ou `AllowedCPUs=` ) ne s’appliquent **qu’au processus AIDE lancé via ce service spécifique**.

Deux cas possibles :

1. AIDE est lancé via le service systemd (ex: `dailyaidecheck.service` )

Les limitations définies dans l’unité ou le drop-in (comme `CPUQuota=20%` ) s’appliqueront uniquement dans ce contexte.

1. AIDE est lancé autrement (ex: manuel, cron, script extérieur, etc.)

Ces processus ne seront pas couverts par les réglages systemd à moins d’encapsuler également ces lancements dans un service systemd dédié avec ses propres limitations.

En d’autres termes ont peut limiter tous les processus AIDE quel que soit leur mode de lancement. Pour cela il faut Utiliser `cpulimit` dans un script wrapper

Ou encore créer une unité `systemd` générique qui encapsule tous les appels à AIDE avec des limitations.

Ou encore, appliquer une limitation via `systemd` en créant un slice

Si AIDE est uniquement lancé via le service `dailyaidecheck.service` , alors l’ajout de `CPUQuota` dans son unité suffit. Mais si AIDE est susceptible d’être lancé par d’autres moyens, il faudra envisager une approche plus globale pour contrôler sa consommation CPU.

Bien entendu il s’agit là de «&nbsp;directive&nbsp;» standard donc «&nbsp;propre&nbsp;». Rien n’est cassé, et c’est réversible si tu souhaites faire un «&nbsp;slice&nbsp;» ou créer un override avec `systemctl edit`

---

<div class="post-metadata">

**Author:** ![Archinformatique](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e19b73/32.png) [@Archinformatique](https://www.debian-fr.org/u/Archinformatique)\
**Post date:** [Avril 12, 2025, 2:05 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/17 "2025-04-12T14:05:21Z")

</div>

oups !

---

<div class="post-metadata">

**Author:** ![Zargos](https://www.debian-fr.org/user_avatar/www.debian-fr.org/zargos/32/10889_2.png) [@Zargos](https://www.debian-fr.org/u/Zargos)\
**Post date:** [Avril 12, 2025, 9:29 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/18 "2025-04-12T21:29:05Z")

</div>

> [@Archinformatique](#):
>
> AIDE est lancé autrement (ex: manuel, cron, script extérieur, etc.)

Non, je n’utilise pas de bidouille donc exit cron, ou script. Pas avec aide.  
Le seul truc concernant aide qui pou\_rrait faire l’objet d’un cron ou d’un script c’est le reporting, qui n’a pas besoin de lancer le process aide.

> [@Archinformatique](#):
>
> Pour cela il faut Utiliser `cpulimit` dans un script wrapper

Oui mais pas propre au regard de l’utilisation de cgroup 😉

---

<div class="post-metadata">

**Author:** ![Archinformatique](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e19b73/32.png) [@Archinformatique](https://www.debian-fr.org/u/Archinformatique)\
**Post date:** [Avril 13, 2025, 3:14 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/19 "2025-04-13T15:14:59Z")

</div>

> [@Zargos](#):
>
> Oui mais pas propre au regard de l’utilisation de cgroup 😉

> Oui, tu as raison 😊  
> `cpulimit` fonctionne bien pour des cas simples ou ponctuels, mais il ne s’intègre pas proprement dans la logique de gestion des ressources via les cgroups, surtout dans un système géré par systemd.

> Avec systemd, c’est plus propre de définir des limites dans l’unité du service tout se passant par les cgroups V2. On garde ainsi une gestion centralisée, traçable et maintenable.

> `Disons que ` `cpulimit` peut quand même dépanner sur des scripts ou des contextes où on n’a pas la main sur systemd. Mais cela reste moins « propre »

---

<div class="post-metadata">

**Author:** ![Archinformatique](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e19b73/32.png) [@Archinformatique](https://www.debian-fr.org/u/Archinformatique)\
**Post date:** [Avril 13, 2025, 3:19 UTC](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083/20 "2025-04-13T15:19:20Z")

</div>

Et pour corroborer ton «&nbsp;commentaire&nbsp;» : `cpulimit` agit en user-space sur un PID, alors que systemd gère en kernel-space via cgroups — plus propre et plus robuste, surtout pour des services réguliers ou critiques.

[Page suivante](https://www.debian-fr.org/t/limiter-la-consommation-cpu-de-aide/91083.md?page=2)
