Question Changer la netteté (priorité) d'un processus en cours


Est-il possible de définir une nouvelle nice niveau 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?


77
2018-06-14 12:09


origine




Réponses:


Terminal

Si vous êtes dans un terminal, vous pouvez utiliser renice

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 lui transmettre des drapeaux durs, mais il suit cet ordre (vous devez d'abord passer la priorité, puis le pid - si vous modifiez l'ordre, il affichera le message d'utilisation).

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

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

Si vous êtes propriétaire du processus, vous n'aurez pas besoin de root - cependant, si le processus appartient à un autre utilisateur ou si vous envisagez de modifier le groupe / l'utilisateur de la racine du processus (via sudo) sera requis.


72
2018-06-14 12:22



Vous ne pouvez pas diminuer la gentillesse en tant qu'utilisateur. :) - htorque
Comme le dit @htorque, un nonroot l'utilisateur ne peut qu'accroître la gentillesse - ils ne peuvent pas réduire la gentillesse, même pas à un niveau de gentillesse antérieur du processus, et même pas à un niveau de gentillesse antérieur qu'ils avaient eux-mêmes reniced le processus à partir de. Je recommande de modifier cette réponse pour intégrer ces informations. - Eliah Kagan
Y a-t-il un inconvénient à faire une priorité de processus -20? - James Watkins
@JamesWatkins Vous pourriez bloquer votre ordinateur - DarthRubik


GUI

  • Alt+F2 et taper sudo gnome-system-monitor

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

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

enter image description here

Et gentil ne nécessite pas sudo pour augmenter la gentillesse si vous possédez la tâche. Cela fait si vous avez besoin de diminuer la gentillesse.


33
2018-06-14 12:14





Démarrer une commande avec nice prio

nice -n 19 your_command

Processus Renice

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

entre -20 et 19

19 est la priorité la plus basse


10
2017-09-26 08:52





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 admin / root sera requis.

Donc, par exemple si vous voulez élever le processus avec PID (ID de processus) 2606 de Ordinaire priorité à Haute En priorité, vous devez taper terminal comme suit:

sudo renice -n -5 -p 2606

8
2018-03-18 12:44





Vous pouvez également renommer un processus en haut.

1) Début top

$ top

2) renice en appuyant sur r. Vous serez invité à saisir l'ID de processus (PID) du processus que vous souhaitez renommer. 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 base de -20 (priorité supérieure) à +19 (priorité inférieure).

enter image description here


3
2018-01-09 16:09





htop

  1. Début htop
  2. Renice avec F7/F8 (si vous êtes à l'intérieur de Byobu désactivation temporaire des raccourcis avec Maj + F12). Garder en tete vous avez besoin de privilèges root pour réduire la gentillesse.

    screenhot


1
2017-08-02 15:06