Autres moyens de limiter l'utilisation du processeur :1. Utilisez la commande taskset.2. Utilisez des groupes de contrôle.3. Utilisez docker et limitez l'utilisation du processeur en utilisant cpuset.4. Réduisez le nombre de threads dans l'application. Certains calculs sont nécessaires avec cette approche.
Une autre chose que vous pouvez essayer est d'exécuter cpulimit
en tant que démon. Je n'ai pas testé cela; c'est juste une idée.
C'est dans les dépôts d'ubuntu :
sudo apt install cpulimit
Utilisez systemd si vous le souhaitez. Cela devrait limiter tous instances de dd à 20 % de CPU.
[Unit]
Description=dd CPU Limiter
[Service]
ExecStart=/usr/bin/cpulimit -e dd -l 20
[Install]
WantedBy=multi-user.target
sources
J'ai accidentellement rencontré une autre réponse valide donnée sur https://unix.stackexchange.com/questions/213903/linux-cgroups-limit-cpu-usage-in-absolute-values-which-do-not-depend-on-cpu -spe
Si vous souhaitez une limite stricte sur la bande passante du processeur, vous pouvez utiliser cpu.cfs_quota_us et cpu.cfs_period_us. À partir de la documentation CFS du noyau :
La bande passante autorisée pour un groupe est spécifiée à l'aide d'un quota et d'une période. Dans chaque "période" donnée (microsecondes), un groupe est autorisé à consommer uniquement jusqu'à "quota" microsecondes de temps CPU. Lorsque la consommation de bande passante CPU d'un groupe dépasse cette limite (pour cette période), les tâches appartenant à sa hiérarchie seront limitées et ne seront pas autorisées à s'exécuter à nouveau jusqu'à la période suivante.