Cambiar la amabilidad (prioridad) de un proceso en ejecución

80

¿Es posible establecer un nuevo nicenivel de un proceso en ejecución con una identificación conocida?

¿Esta operación requiere acceso de root, o simplemente ser el propietario del proceso?

Adam Matan
fuente

Respuestas:

76

Terminal

Si estás en una terminal puedes usar renice

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

Un ejemplo simple sería

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

También puede pasarle marcas, pero sigue ese orden (primero debe pasar la prioridad y luego el pid; si cambia el orden, mostrará el mensaje de uso)

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

Prioridades de trabajo en una escala de -20a 19- Cuanto menor sea el número, mayor es la prioridad en el sistema.

Si es el propietario del proceso, no necesitará root; sin embargo, si el proceso es propiedad de otro usuario o si planea cambiar el grupo / usuario de la raíz del proceso (vía sudo) será necesario.

Marco Ceppi
fuente
11
No se puede disminuir la simpatía como usuario. :)
htorque
55
Como dice @htorque, un no rootusuario solo puede aumentar la amabilidad: no puede disminuir la amabilidad, ni siquiera a un nivel previo de amabilidad que tuvo el proceso, y ni siquiera a un nivel previo de amabilidad del que habían renicebajado el proceso. Recomiendo editar esta respuesta para incorporar esa información.
Eliah Kagan
2
¿Hay alguna desventaja en hacer que un proceso sea prioritario -20?
James Watkins
2
@JamesWatkins Puede detener su computadora
DarthRubik
33

GUI

  • Alt+ F2y tiposudo gnome-system-monitor

Antes del 11.04: Sistema> Administración> Monitor de sistema. Elija procesos.
En 11.04: Alt+ Ay buscar system monitor.

Las identificaciones se muestran en la imagen aquí:

ingrese la descripción de la imagen aquí

Y nice no requiere sudo para aumentar la amabilidad si posee la tarea. Lo hace si necesita disminuir la amabilidad.

Rinzwind
fuente
10

Comience un comando con nice prio

nice -n 19 your_command

Proceso de Renice

renice 19 $(pidof your_command_name_like_for_ex_ffmpeg)

19

entre -20 y 19

19 es la prioridad más baja

Philippe Gachoud
fuente
8

El uso de "renice" en la terminal es el siguiente:

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

El uso de "sudo" antes del comando "renice" eleva al usuario al nivel raíz y se requerirá una contraseña de administrador / raíz.

Entonces, por ejemplo, si desea elevar el proceso con PID (ID de proceso) 2606 de Prioridad normal a Prioridad alta , debe escribir el terminal de la siguiente manera:

sudo renice -n -5 -p 2606
usuario141344
fuente
3

También puede cambiar el proceso dentro de la parte superior.

1) Comenzar arriba

$ top

2) renice presionando r. Se le solicitará el ID de proceso (PID) del proceso que desea cambiar. El PID predeterminado es el primer proceso (uno que consume la mayoría de los recursos). Confirmar con Enter. Establezca el nuevo valor agradable de -20 (mayor prioridad) a +19 (menor prioridad).

ingrese la descripción de la imagen aquí

Timothy Pulliam
fuente