Linux / Comando nice: ajustar la prioridad de un nuevo proceso

El comando nice inicia un programa aplicando un ajuste al valor nice, que influye en la planificación de CPU. Un valor mayor suele dar menor prioridad frente a otros trabajos.

El rango común de valores nice en Linux es de -20 a 19, y cuanto más bajo es el valor, mayor es la prioridad. nice no cambia los procesos que ya están en ejecución. Para trabajos en curso, use renice.

Sintaxis básica

nice -n ajuste comando [argumentos ...]

La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man nice en el sistema actual.

Ejemplos de uso

Iniciar con baja prioridad

Inicia una tarea de lectura con un valor de nice 10 unidades superior al valor heredado.

nice -n 10 sha256sum large.log

Iniciar con incremento predeterminado

En la implementación de GNU, si se omite el ajuste, se usa el incremento predeterminado.

nice sha256sum large.log

Verificar el valor real

Verifique la columna NI de los trabajos en ejecución.

ps -p 1234 -o pid,ni,cmd

Ver el valor nice de un nuevo proceso

El ajuste de nice -n 10 se suma al valor heredado. El ejemplo siguiente parte de un valor nice de 0, por lo que ps muestra 10; si el valor inicial es distinto, el resultado también lo será.

nice -n 10 sleep 60 &
ps -o ni,comm -p $!

Ejemplo de salida:

 NI COMMAND
 10 sleep

$! es el PID del proceso en segundo plano más reciente. Generalmente, cuanto mayor sea el número, menor será la prioridad de programación de la CPU, pero esto no significa un límite en el uso de la CPU. Para cambiar el valor de un proceso que ya está en ejecución, use renice.

Opciones y formatos principales

Opciones·Formato Descripción
-n ajuste Especifica el ajuste del nuevo comando basado en el valor nice existente.
--adjustment=ajuste Formato de opción larga de la implementación de GNU.
Sin argumentos Muestra el valor nice actual en la implementación de GNU.

Precauciones al usar

El valor nice es una sugerencia para la planificación de la CPU y no garantiza el tiempo de ejecución ni cambia la prioridad de memoria o I/O de disco. Las operaciones para aumentar la prioridad disminuyendo el valor nice pueden no estar permitidas para usuarios normales. En caso de problemas de alta carga, primero verifique el proceso causante y los tipos de recursos.

Preguntas frecuentes

¿Hace que nice -n 10 sea 10 veces más rápido?

No. Cuando el valor aumenta, generalmente la prioridad de la CPU disminuye, y no significa un múltiplo constante de la velocidad de procesamiento.

Documentación oficial

La operación exacta de la opción y las diferencias según la implementación se pueden consultar en la documentación oficial de nice.