À l'aide d'Ubuntu Server, une micro-boîte AWS, donc si les pics d'utilisation du processeur AWS tuera virtuellement le processeur de la boîte (pendant environ 30 secondes).
Nice
ne résout pas le problème, mais cpulimit
le fait (je l'utilise dans mes propres tâches de traitement intensif du processeur).
Certaines tâches périodiques par défaut du système déclenchent le limiteur AWS cpu.
Il y a environ 15 scripts de travail cron par défaut, plutôt que d'essayer de réécrire tout le monde pour utiliser cpulimit. Existe-t-il un moyen d'utiliser cpulimit pour limiter le cpu de tous les travaux cron inclut les sous-processus générés par les différents scripts)?
On dirait que j'ai trouvé la réponse à ma question, ce qui est bien: un script de démon cpulimit qui fonctionne à l'échelle de la boîte.
Je me rends compte que cela avait été demandé à l'origine en 2011, mais aujourd'hui, vous pouvez obtenir un résultat similaire en modifiant cron.service
à limite la priorité de la CPU et des E/S :
$ Sudo systemctl edit cron.service
# edits go to /etc/systemd/system/cron.service.d/override.conf
Par défaut, cela s'applique également aux sous-processus créés par cron. J'utilise quelque chose comme ça:
[Service]
Nice=19
CPUSchedulingPolicy=idle
IOSchedulingClass=idle