Linux / Comando renice: cambiar el valor nice de procesos en ejecución

renice modifica el valor de nice de un proceso que ya se está ejecutando. Cuando un trabajo por lotes usa mucha CPU y afecta a otros trabajos, se puede ajustar después de verificar el PID objetivo.

Cuanto mayor sea el valor de nice, generalmente menor será la prioridad de CPU. Este comando solo está relacionado con la planificación de CPU y no reduce el uso de memoria ni el proceso en sí. Reducir el valor para aumentar la prioridad puede requerir permisos de administrador o límites especiales.

Sintaxis básica

renice -n prioridad -p PID ...

Los ejemplos siguen renice de util-linux sin la variable de entorno POSIXLY_CORRECT: -n indica entonces un valor absoluto. Con esa variable definida, -n se interpreta como incremento relativo. Compruebe man renice antes de aplicar el ajuste y use un proceso de prueba propio; los PID mostrados son marcadores que debe sustituir.

Ejemplos de uso

Verificar el valor actual de nice

Primero, verifique si el PID objetivo y el comando coinciden.

ps -p 1234 -o pid,user,ni,cmd

Ajustar proceso en ejecución

En util-linux, sin la variable POSIXLY_CORRECT, este ejemplo fija en 10 el valor nice del proceso seleccionado.

renice -n 10 -p 1234

Verificar el resultado nuevamente

Después del cambio, verifique la columna NI real.

ps -p 1234 -o pid,ni,cmd

Verificación de cambio de valor del proceso en ejecución

renice cambia el valor nice de un proceso ya en ejecución. Reemplace PID con el número real del proceso de prueba y verifique antes y después del cambio con ps.

ps -o pid,ni,comm -p PID
renice -n 10 -p PID
ps -o pid,ni,comm -p PID

Si el valor NI inicial es 0 y se utiliza el comportamiento predeterminado de util-linux, la última consulta mostrará 10. El formato del mensaje de renice depende de la implementación.

Reducir el valor para aumentar la prioridad normalmente requiere permisos adicionales. Incluso si cambia el valor para solucionar problemas de CPU, debe verificar también las causas de cuellos de botella o las esperas de disco/memoria. Antes de ejecutar, asegúrese nuevamente de la información del objetivo para no dirigirse a un PID ya terminado o reutilizado.

Opciones y formatos principales

Opción o formato Descripción
-n valor Indica el valor nice; en util-linux es absoluto de forma predeterminada y relativo si POSIXLY_CORRECT está definida.
-p PID Seleccione el ID del proceso como objetivo.
-u usuario Seleccione los procesos pertenecientes al usuario. Hay que tener cuidado porque el alcance es amplio.
-g grupo Seleccione el grupo de procesos como objetivo.

Precauciones al usar

Dado que los PID pueden reutilizarse, verifique nuevamente el comando y el propietario con ps justo antes de ajustarlo. renice -u puede afectar a varios procesos del usuario. Se necesita permiso para reducir el valor nice, y aunque el ajuste tenga éxito, otras limitaciones de recursos de CPU o políticas de cgroup pueden tener prioridad.

Preguntas frecuentes

¿Cuál es la diferencia entre nice y renice?

nice ajusta al iniciar un nuevo comando, mientras que renice cambia el valor nice de un proceso que ya se está ejecutando.

Documentación oficial

El comportamiento exacto de las opciones y las diferencias según la implementación se pueden consultar en la documentación oficial de renice.