21 votes

Puis-je limiter l'utilisation du CPU d'une seule application ?

Existe-t-il un moyen d'empêcher ClamScan de manger le processeur de mon serveur ?

23voto

Sid Points 10363

Installer cpulimit

sudo apt-get install cpulimit

Il fournit différentes méthodes pour limiter l'utilisation du CPU d'un processus foo pour dire, 20%

  • Par son nom de processus : sudo cpulimit -e foo -l 20 .

  • Par son nom de chemin absolu : sudo cpulimit -P /usr/bin/foo -l 20

  • Par son PID :

    1. Trouvez le PID du processus : pidof foo . (disons, il sort 1881)
    2. sudo cpulimit -p 1881 -l 20

19voto

Clausi Points 4797

Juste comme une alternative à cpulimit :

Vous pourriez lancer clamscan avec la commande nice, par exemple

nice -n 19 clamscan .

Voir man nice pour les détails.

Elle le fait PAS limiter le CPU, mais il ne diminuer la priorité du processus.

Il y a aussi renice pour modifier la priorité des processus en cours.

5voto

Keith Points 421

Si vous exécutez clamd avec systemd, vous pouvez utiliser la commande CPUQuota option.

Modifier /lib/systemd/system/clamav-daemon.service pour inclure cette ligne dans le [Service] section :

CPUQuota=20%

Puis redémarrez le service

sudo systemctl daemon-reload
sudo systemctl reload-or-restart clamav-daemon

4voto

Mufaka Points 54

Il s'agissait d'un commentaire sur la réponse de Clausi (qui, à mon avis, est la plus "correcte" du point de vue de l'administration système), mais il s'est transformé en quelque chose de trop gros pour tenir dans la boîte à commentaires.

  • Clamscan a une quantité fixe de travail à faire, donc le limiter à une certaine vitesse signifie qu'il va juste prendre plus de temps. Il va maintenir le CPU en compétition pendant plus longtemps.

  • Le faire tourner aussi vite que possible signifie que vous utilisez votre CPU au maximum. Le rendre très "gentil" signifie qu'il laissera les autres processus faire leur travail avant le sien. Cela signifie que s'il y a beaucoup d'autres processus occupés, oui, il prendra beaucoup de temps pour effectuer son travail, mais s'il n'y a rien à faire, il se contentera d'effectuer sa charge de travail.

1voto

John Kramlich Points 541

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X