Ajustar la Planificación de Procesos

Red Hat Enterprise LinuxBeginner
Practicar Ahora

Introducción

En este desafío, explorarás cómo gestionar la planificación de procesos en un sistema Linux. La planificación de procesos es una función clave del sistema operativo que determina qué proceso puede utilizar la CPU y durante cuánto tiempo. Como administrador de sistemas, puedes influir en esta planificación ajustando las prioridades de los procesos. Utilizarás los comandos nice y renice para controlar la prioridad de los procesos, una habilidad fundamental para optimizar el rendimiento del sistema y garantizar que las aplicaciones críticas reciban los recursos que necesitan.

Este es un Desafío (Challenge), que a diferencia de un Laboratorio Guiado, requiere que intentes completar la tarea de forma independiente en lugar de seguir pasos de aprendizaje. Los desafíos suelen tener cierta dificultad. Si te resulta complicado, puedes debatir con Labby o consultar la solución. Los datos históricos muestran que este es un desafío de nivel principiante con una tasa de aprobación del 98%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los alumnos.

Iniciar un Proceso con una Prioridad Personalizada

En Linux, cada proceso tiene un valor "nice", que influye en su prioridad de planificación. Este valor oscila entre -20 (máxima prioridad) y 19 (mínima prioridad). El comando nice permite ejecutar un nuevo comando con un valor nice específico. Ten en cuenta que solo el usuario root (o un usuario con privilegios de sudo) puede establecer un valor nice negativo para aumentar la prioridad de un proceso.

Tareas

  • Utiliza el comando nice para iniciar un nuevo proceso sleep 600 en segundo plano.
  • Asigna al nuevo proceso una prioridad alta con un valor nice de -10.
  • Verifica la prioridad del nuevo proceso utilizando el comando ps.

Requisitos

  • El comando a ejecutar es sleep 600.
  • El proceso debe iniciarse con un valor nice de -10.
  • Debes usar sudo para asignar un valor nice negativo.
  • El proceso debe ejecutarse en segundo plano para que puedas seguir utilizando la terminal.

Ejemplo

Tras iniciar el proceso, la salida de ps -e -o pid,ni,comm | grep sleep debería mostrar el proceso sleep con un valor NI (nice) de -10. El PID variará.

ps -e -o pid,ni,comm | grep sleep
   2250 -10 sleep

También puedes usar ps -e -o pid,ni,comm para ver todos los procesos y sus valores nice:

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250 -10 sleep
✨ Revisar Solución y Practicar

Ajustar la Prioridad de un Proceso en Ejecución con renice

A veces es necesario cambiar la prioridad de un proceso que ya se está ejecutando. Para ello, puedes utilizar el comando renice. Al igual que con nice, necesitas privilegios de sudo para aumentar la prioridad (establecer un valor nice más bajo o más negativo) de un proceso. También necesitas sudo para cambiar la prioridad de un proceso que pertenece a otro usuario, como root.

Tareas

  • Busca el ID de proceso (PID) del proceso sleep 600 que iniciaste en el paso anterior.
  • Utiliza el comando renice para cambiar su prioridad a una más baja, con un valor nice de 5.
  • Verifica el nuevo nivel de prioridad utilizando el comando ps.

Requisitos

  • El proceso objetivo es el proceso sleep 600 del paso anterior.
  • El nuevo valor nice debe ser 5.
  • Debes usar sudo para cambiar la prioridad del proceso (ya que se inició con sudo y pertenece a root).

Ejemplo

Después de ejecutar el comando renice, la salida de ps -e -o pid,ni,comm | grep sleep debería mostrar el proceso sleep con un nuevo valor NI de 5.

ps -e -o pid,ni,comm | grep sleep
   2250   5 sleep

También puedes usar ps -e -o pid,ni,comm para ver todos los procesos:

  PID  NI COMMAND
    1   0 systemd
 2188   0 bash
 2250   5 sleep
✨ Revisar Solución y Practicar

Resumen

En este desafío, has aprendido los conceptos fundamentales para ajustar las prioridades de planificación de procesos en un sistema Linux. Has practicado el uso del comando nice para lanzar un nuevo proceso con una prioridad específica y el comando renice para modificar la prioridad de un proceso que ya está en ejecución. También has aprendido que aumentar la prioridad de un proceso (establecer un valor nice negativo) requiere privilegios administrativos (sudo). Estas habilidades son esenciales para la administración de sistemas y el ajuste del rendimiento.