J'ai un travail crs rsync qui pousse la charge du serveur et déclenche des alertes de moniteur. Si je définissais le travail pour qu'il s'exécute avec un niveau agréable élevé, cela réduirait-il efficacement l'impact qu'il a sur les valeurs de charge du système?
10
Réponses:
Cela ne réduira pas votre charge.
Il ne permettra aux autres processus d'utiliser le temps CPU plus souvent qu'en cas de conflit potentiel de ressources (plusieurs processus "en concurrence" pour un temps CPU disponible insuffisant).
la source
La modification de la valeur de Nice ne réduira pas directement la charge du système. Il peut cependant être utilisé pour laisser plus de ressources disponibles aux processus restants, ce que je soupçonne être ce que vous voulez vraiment.
Depuis http://linux.101hacks.com/monitoring-performance/hack-100-nice-command-examples/
Alors oui, vous voulez exécuter la tâche cron à un niveau supérieur à celui des autres processus si vous voulez vous assurer que les autres processus ont la priorité.
Pour ce faire, vous voulez que votre script cron soit exécuté comme ceci:
Cela exécutera le script cron à une douceur augmentée de 10. Vous voudrez probablement tester un peu pour trouver un bon équilibre (jeu de mots non prévu) entre les processus restants et le temps d'exécution du script.
Voir aussi Comment fonctionne bien? et http://www.cyberciti.biz/faq/change-the-nice-value-of-a-process/ pour plus de détails.
la source
Il est peu probable que la modification du niveau agréable d'un processus affecte la valeur de charge du système. La valeur de charge système est la longueur moyenne de la file d'attente d'exécution , qui est essentiellement le nombre de processus souhaitant utiliser le CPU.
Si vous exécutez un processus lié au CPU (rsync ne l'est pas, mais juste par exemple), il voudra toujours utiliser le temps CPU chaque fois qu'il y en a de disponible. Puisqu'il veut toujours fonctionner, il contribuera une valeur de charge de 1,0 à la valeur de charge du système. Peu importe le niveau agréable du processus, car la longueur moyenne de la file d'attente d'exécution n'est pas affectée par l' ordre des processus dans la file d'attente d'exécution.
la source
Vous pouvez envisager 3 façons de réduire votre impact sur la charge système / le temps processeur:
nice
commande pour réduire manuellement la priorité de la tâche.cpulimit
commande pour suspendre à plusieurs reprises le processus afin qu'il ne dépasse pas une certaine limite.built-in control groups
, un mécanisme qui indique au planificateur de limiter la quantité de ressources disponibles pour le processus.Ressources
http://blog.scoutapp.com/articles/2014/11/04/restricting-process-cpu-usage-using-nice-cpulimit-and-cgroups
la source