Comment faire pour que «apt-get upgrade» utilise moins de ressources?

26

Quand je lance sudo apt-get upgrade avec beaucoup de paquets sur mon bas de gamme ordinateur portable, le ralentissement du système est perceptible, parfois avec 3 le deuxième écran se fige.

Existe-t-il un moyen de marquer ce travail comme une très faible priorité, à savoir utiliser très peu de CPU, MEM et HDD? Je ne m'inquiète pas vraiment si cela rendrait apt-get upgrade deux heures de plus pour finir, je veux juste continuer à travailler sans les perturbations pendant la mise à niveau.

    
posée user1350992 01.01.2015 - 14:08
la source

1 réponse

25

La commande nice peut être utilisée pour manipuler les processus priorités de planification du processeur . La commande attribue une valeur de "gentillesse" de -20 (le plus important) à +19 (le moins important) au processus. La racine peut affecter n'importe quelle valeur, les autres utilisateurs seulement positifs (importance mineure). La valeur par défaut est 0.

nice -n <niceness> <command>

Pour définir la priorité d’une commande apt-get à la valeur la plus faible, vous pouvez utiliser la commande

sudo nice -n 19 apt-get upgrade

Pour définir la priorité d'un processus en cours d'exécution, la commande renice peut être utilisée:

renice -n <niceness> -p <pid>

Edit: Merci à @David d'avoir mentionné la commande ionice , qui vous permet de manipuler la priorité des E / S disque . Il peut mettre un processus dans trois classes différentes:

  • Inactif donne uniquement le temps disque du processus, si aucun autre processus ne l’affirme pour le moment.
  • Meilleur effort (classe par défaut). Cela vous permet d'attribuer des priorités de 0 à 7, où 0 est le plus important et 7 le moins. Vous pouvez essayer d'attribuer -n 7 au niveau de priorité.
  • Les processus Temps réel sont traités avant tout, en suspendant les E / S de disque pour d’autres processus, dès qu’ils en ont besoin. Utilisez-le avec soin!

IOnice combine la syntaxe de nice et renice:

ionice [-c class] [-n level] command             #To start a new process
ionice [-c class] [-n level] -p pid              #To change a running process

Les deux commandes peuvent être combinées, par exemple

sudo ionice -n 7 nice -n 19 apt-get upgrade      #Omitting the -c switch will assign Best-effort
sudo nice -n 19 ionice -n 7 apt-get upgrade
nice -n 19 ionice -n 7 sudo apt-get upgrade
...
    
réponse donnée s3lph 01.01.2015 - 14:41
la source

Lire d'autres questions sur les étiquettes