web-dev-qa-db-fra.com

Changer la gentillesse (priorité) d'un processus en cours d'exécution

Est-il possible de définir un nouveau niveau Nice d'un processus en cours d'exécution avec un identifiant connu?

Cette opération nécessite-t-elle un accès root ou est-elle simplement propriétaire du processus?

81
Adam Matan

Terminal

Si vous êtes à un terminal, vous pouvez utiliser reniceNAME _

renice [-n] priority [[-p] pid ...] [[-g] pgrp ...] [[-u] user ...]

Un exemple simple serait

renice 8 31043
31043: old priority 5, new priority 8

Vous pouvez également passer des indicateurs fixes, mais cela suit cet ordre (vous devez d'abord passer la priorité, puis le pid - si vous modifiez l'ordre, le message d'utilisation s'affiche)

renice -n 5 -p 31043
31043: old priority 8, new priority 5

Les priorités fonctionnent sur une échelle de -20 à 19 - Plus le nombre est bas, plus sa priorité est élevée sur le système.

Si vous possédez le processus, vous n'avez pas besoin de root. Toutefois, si le processus appartient à un autre utilisateur ou si vous prévoyez de changer le groupe/l'utilisateur de la racine du processus (via Sudoname__) sera requis.

76
Marco Ceppi

Interface graphique

  • Alt+F2 et tapez Sudo gnome-system-monitor

Avant 11.04: Système> Administration> Moniteur système. Choisissez les processus.
En 11.04: Alt+A et recherchez system monitor.

Les identifiants sont affichés dans l'image ici:

enter image description here

Et Nice n’a pas besoin de Sudo pour augmenter la gentillesse si vous possédez la tâche. C'est le cas si vous devez diminuer la gentillesse.

33
Rinzwind

Lancer une commande avec Nice prio

Nice -n 19 your_command

Processus de Renice

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

entre -20 et 19

19 est la priorité la plus basse

10
Philippe Gachoud

L'utilisation de "renice" dans le terminal est la suivante:

Usage:
 renice [-n] <priority> [-p] <pid> [<pid>  ...]
 renice [-n] <priority> [-g] <pgrp> [<pgrp> ...]
 renice [-n] <priority> [-u] <user> [<user> ...]

Options:
 -g, --pgrp <id>        interpret as process group ID
 -h, --help             print help
 -n, --priority <num>   set the Nice increment value
 -p, --pid <id>         force to be interpreted as process ID
 -u, --user <name|id>   interpret as username or user ID
 -v, --version          print version

L'utilisation de "Sudo" avant la commande "renice" élève l'utilisateur au niveau racine et un mot de passe administrateur/racine sera requis.

Donc, par exemple si vous souhaitez élever un processus avec PID (ID de processus) 2606 de Normal priorité à Élevé priorité, vous devez taper terminal comme suit:

Sudo renice -n -5 -p 2606
8
user141344

Vous pouvez également renommer un processus dans top.

1) Début top

$ top

2) renez en appuyant sur r. Vous serez invité à indiquer l'ID de processus (PID) du processus que vous souhaitez utiliser. Le PID par défaut est le premier processus (celui qui consomme le plus de ressources). Confirmez avec Entrée. Définissez la nouvelle valeur de Nice de -20 (priorité plus élevée) à +19 (priorité plus faible).

enter image description here

3
Timothy Pulliam

htopname__

  1. Démarrer htopname__
  2. Renice avec F7/F8 (si vous êtes à l'intérieur de Byob désactiver temporairement les raccourcis clavier avec Shift + F12). Gardez à l'esprit vous avez besoin de privilèges root pour réduire la gentillesse .

    screenhot

1
Pablo Bianchi