Gestión de procesos

Prioridad de procesos (nice, renice)

Lección 7 de 8

Aprender cómo Linux asigna prioridad a los procesos y cómo modificarla utilizando los comandos nice y renice.

Duración estimada: 8 min

Objetivos

  • Comprender qué es la prioridad de un proceso
  • Ejecutar procesos con prioridad modificada usando nice
  • Cambiar la prioridad de procesos existentes con renice

Lección

Prioridad de procesos (nice, renice)

En un sistema Linux pueden ejecutarse muchos procesos al mismo tiempo.

Todos estos procesos compiten por recursos como:

  • CPU
  • memoria
  • acceso a disco

Para administrar este uso, el sistema utiliza prioridades de procesos.

La prioridad ayuda al sistema operativo a decidir qué proceso debe recibir más tiempo de CPU.


¿Qué es la prioridad de un proceso?

La prioridad indica qué tan importante es un proceso para el sistema.

Un proceso con mayor prioridad tendrá más oportunidades de utilizar la CPU.

Un proceso con menor prioridad recibirá menos tiempo de CPU.

Linux utiliza un valor llamado nice value para representar esta prioridad.


Valores de prioridad (nice)

Los valores de nice van desde:

-20  (máxima prioridad)
  0  (prioridad normal)
 19  (menor prioridad)

Es importante entender que:

  • valores más bajos significan mayor prioridad
  • valores más altos significan menor prioridad

El valor por defecto para la mayoría de los procesos es:

0

Ver la prioridad de procesos

Puedes ver la prioridad de los procesos usando:

top

En la salida aparecerán columnas como:

  • PR → prioridad del proceso
  • NI → valor nice

Esto permite observar cómo el sistema distribuye recursos.


Ejecutar procesos con nice

El comando nice permite iniciar un proceso con una prioridad diferente.

Ejemplo:

nice -n 10 comando

Esto ejecuta el comando con menor prioridad que la normal.

Por ejemplo:

nice -n 10 tar -czf respaldo.tar.gz carpeta/

Esto permite que el proceso consuma menos CPU si otros procesos la necesitan.


Cuándo usar nice

Reducir prioridad puede ser útil cuando ejecutas tareas pesadas como:

  • compresión de archivos
  • procesamiento de datos
  • backups
  • scripts largos

De esta forma el proceso no afecta tanto al resto del sistema.


Cambiar prioridad con renice

El comando renice permite modificar la prioridad de un proceso que ya está en ejecución.

La estructura es:

renice valor PID

Ejemplo:

renice 10 2451

Esto cambia el valor nice del proceso con PID 2451.


Usar sudo con prioridades altas

Solo el usuario root puede asignar prioridades más altas (valores negativos).

Por ejemplo:

sudo renice -5 2451

Esto aumenta la prioridad del proceso.

Los usuarios normales solo pueden reducir la prioridad (valores positivos).


Ejemplo práctico

Supongamos que ejecutas un proceso pesado que consume CPU.

Puedes iniciarlo con menor prioridad:

nice -n 15 python script_grande.py

De esta manera el proceso seguirá ejecutándose, pero el sistema podrá priorizar otros procesos más importantes.


Buenas prácticas

Al trabajar con prioridades conviene recordar:

  • no asignar prioridad muy alta a procesos innecesarios
  • reducir prioridad para tareas pesadas en servidores
  • observar el comportamiento del sistema antes de modificar prioridades

Esto ayuda a mantener el sistema estable y eficiente.


Idea clave de esta lección

Linux utiliza valores nice para controlar la prioridad de los procesos.

Los comandos nice y renice permiten ajustar estas prioridades para gestionar mejor el uso de CPU.


Repaso

  • Linux asigna prioridades a los procesos.
  • El valor nice define la prioridad.
  • Valores bajos significan mayor prioridad.
  • nice inicia procesos con prioridad modificada.
  • renice cambia la prioridad de procesos existentes.
AnteriorCompleta esta lección para desbloquear la siguiente