Cómo cambiar la prioridad del proceso en Linux con nice y renice

Linux le permite ejecutar muchos procesos en una máquina sin perder el ritmo. A veces, un proceso intensivo puede ralentizar su sistema. ¿No sería genial si hubiera una forma de que de alguna manera pudieras dejarlo en un segundo plano cuando sigues con otras tareas? Puede hacerlo con una utilidad llamada nice.

Jugando bien con los procesos

Nice es una utilidad integrada en los sistemas Linux y Unix que puede reducir la prioridad de CPU de un proceso. Esta utilidad es un artefacto de la era en la que Unix se ejecutaba en miniordenadores y mainframes multiusuario, pero sigue siendo útil hoy en día en equipos de escritorio de un solo usuario.

Es posible que esté jugando un juego y experimente un retraso debido a algún proceso intensivo que sabe que llevará mucho tiempo obtener el resultado, como un cliente de torrents . Simplemente reasignarlo al fondo y seguir jugando.

Nice es un programa independiente o integrado en el shell. Para averiguar cuál es el caso en su sistema, escriba:

 which nice

En Ubuntu, la versión de nice instalada es la versión GNU .

Nice usa el concepto de "buen número", que es la prioridad de proceso de cualquier proceso. En la versión GNU, varía de 19 a -20. Los números negativos dan más prioridad al proceso, mientras que los números positivos dan menos. Puede ver este buen número como la columna NI en utilidades como top o htop .

Para ejecutar un proceso con menor prioridad, use este comando:

 nice processname

Reemplace el nombre del proceso con el proceso que desea ejecutar. De forma predeterminada, nice asignará el número nice de 10. Cualquier proceso que se inicie normalmente tendrá el valor predeterminado 0.

Si desea un número específico, en este caso, la prioridad mínima absoluta, use la opción -n con el número agradable que desee:

 nice -n 19 processname

Cambio de la prioridad del proceso con renice

Ahora puede iniciar comandos con una prioridad reducida, pero ¿qué hay de cambiar la prioridad de los procesos en ejecución? También puedes hacerlo con otra utilidad, renice.

Necesitará el PID, o ID de proceso, del proceso que desea cambiar. Puede encontrarlo usando el comando ps , top o htop. Una vez que lo haya encontrado, solo necesita alimentarlo con el comando renice.

Para establecer un nuevo número agradable para su PID, escriba:

 renice priority PID

… donde prioridad es el buen número que desea utilizar.

La bandera -n cambia la prioridad del proceso por el incremento que mencionó, ya sea positivo o negativo, por lo que si tenía un proceso que estaba en 10 y deseaba cambiarlo a 8, escriba:

 sudo renice -n -2 PID

Solo el superusuario puede renunciar a procesos que pertenecen a otro usuario o aumentar la prioridad de un proceso. Puede usar el modificador -u seguido del nombre de usuario para ajustar la prioridad para cualquier usuario:

 renice priority -u username

Relacionado: ¿Qué es un proceso en Linux?

Ahora puede cambiar las prioridades del proceso para obtener el mejor rendimiento

Con nice y renice, puede cambiar la prioridad de cualquier proceso en Linux. Esto seguramente lo ayudará en momentos en que un proceso pesado está consumiendo una gran parte de los recursos de su sistema. Además, optimizar el rendimiento de su sistema con herramientas de supervisión como Stacer puede resultar útil.