Alterar a gentileza (prioridade) de um processo em execução

80

É possível definir um novo nicenível de um processo em execução com um ID conhecido?

Esta operação requer acesso root ou apenas é o proprietário do processo?

Adam Matan
fonte

Respostas:

76

terminal

Se você estiver em um terminal, poderá usar renice

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

Um exemplo simples seria

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

Você também pode passar sinalizadores rígidos, mas segue essa ordem (você deve passar a prioridade primeiro e depois o pid - se você alterar a ordem, ele mostrará a mensagem de uso)

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

Prioridades trabalhar em uma escala de -20até 19- Quanto menor o número, maior será a sua prioridade no sistema.

Se você possui o processo, não precisará de raiz - no entanto, se o processo pertencer a outro usuário ou se você planeja alterar o grupo / usuário da raiz do processo (via sudo) será necessário.

Marco Ceppi
fonte
11
Você não pode diminuir a gentileza como usuário. :)
htorque
5
Como o @htorque diz, um não- rootusuário pode apenas aumentar a gentileza - não pode diminuir a gentileza, nem mesmo para um nível anterior de gentileza que o processo possuía, e nem mesmo para um nível anterior de gentileza do qual eles próprios haviam renicedescido o processo. Eu recomendo editar esta resposta para incorporar essas informações.
Eliah Kagan 14/10/12
2
Existe alguma desvantagem em priorizar o processo -20?
James Watkins
2
@JamesWatkins Você poderia parar o seu computador
DarthRubik
33

GUI

  • Alt+ F2e tiposudo gnome-system-monitor

Antes da 11.04: Sistema> Administração> Monitor do Sistema. Escolha Processos.
No 11.04: Alt+ Ae procure system monitor.

Os IDs são mostrados na imagem aqui:

insira a descrição da imagem aqui

E nice não requer sudo para aumentar a gentileza se você é o proprietário da tarefa. Isso acontece se você precisar diminuir a gentileza.

Rinzwind
fonte
10

Iniciar um comando com bom prio

nice -n 19 your_command

Processo Renice

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

entre -20 e 19

19 é a prioridade mais baixa

Philippe Gachoud
fonte
8

O uso de "renice" no terminal é o seguinte:

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

O uso de "sudo" antes do comando "renice" eleva o usuário ao nível raiz e uma senha de administrador / raiz será necessária.

Então, por exemplo, se você deseja elevar o processo com o PID (ID do processo) 2606 de Prioridade normal para Alta prioridade, digite o terminal da seguinte maneira:

sudo renice -n -5 -p 2606
user141344
fonte
3

Você também pode renomear um processo na parte superior.

1) Iniciar topo

$ top

2) renice pressionando r. Ser-lhe-á pedido o ID do processo (PID) do processo que deseja alterar. O PID padrão é o primeiro processo (que consome mais recursos). Confirme com Enter. Defina o novo valor agradável de -20 (prioridade mais alta) a +19 (prioridade mais baixa).

insira a descrição da imagem aqui

Timothy Pulliam
fonte