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?

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.


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.


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


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

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í


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.