Gestión de procesos en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Este laboratorio presenta herramientas esenciales de Linux para gestionar procesos y recursos del sistema. Como principiante, aprenderás a utilizar los comandos ps, top y free para monitorear y analizar los procesos del sistema y el uso de memoria. Estas herramientas son fundamentales para entender lo que está sucediendo en tu sistema Linux.

Logros

Al final de este laboratorio, podrás:

  • Listar y filtrar procesos utilizando ps
  • Monitorear procesos en tiempo real con top
  • Verificar el uso de memoria del sistema utilizando free

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/top("Task Displaying") linux/SystemInformationandMonitoringGroup -.-> linux/free("Memory Reporting") subgraph Lab Skills linux/ps -.-> lab-46{{"Gestión de procesos en Linux"}} linux/top -.-> lab-46{{"Gestión de procesos en Linux"}} linux/free -.-> lab-46{{"Gestión de procesos en Linux"}} end

Listar todos los procesos

Comencemos listando todos los procesos que se están ejecutando en el sistema utilizando el comando ps.

  1. Abre tu terminal. Debes estar en el directorio /home/labex/project. Si no estás seguro, siempre puedes verificar tu directorio actual escribiendo pwd y presionando Enter.

  2. Ejecuta el siguiente comando para listar todos los procesos:

    ps -e

    Esto mostrará una lista de todos los procesos, incluyendo su Identificador de Proceso (PID), terminal (TTY), tiempo de CPU y nombre del comando.

  3. Tómate un momento para examinar la salida. Verás procesos del sistema y procesos de usuario. Esto es lo que significa cada columna:

    • PID: El Identificador de Proceso único
    • TTY: El tipo de terminal asociado con el proceso
    • TIME: La cantidad de tiempo de CPU utilizado por el proceso
    • CMD: El nombre del comando o programa

    No te preocupes si ves nombres de procesos que no conoces; muchos de estos son procesos del sistema que se ejecutan en segundo plano.

Mostrar información detallada de los procesos

Ahora, obtengamos información más detallada sobre los procesos.

  1. Ejecuta el siguiente comando:

    ps aux

    Este comando muestra una lista detallada de todos los procesos, incluyendo el usuario que inició el proceso, el uso de CPU y memoria, y la línea de comandos completa.

  2. La salida podría ser bastante larga. Puedes usar el comando less para verla más fácilmente:

    ps aux | less

    Esto envía la salida de ps aux a less, lo que te permite desplazarte por ella.

  3. En el visor less:

    • Utiliza las flechas arriba y abajo para desplazarte.
    • Presiona Espacio para avanzar una página.
    • Presiona b para retroceder una página.
    • Presiona q para salir del visor less cuando hayas terminado.
  4. Analicemos lo que estás viendo:

    • USER: El propietario del proceso
    • PID: Identificador de Proceso
    • %CPU: Uso de CPU
    • %MEM: Uso de memoria
    • VSZ: Tamaño de memoria virtual
    • RSS: Tamaño del Conjunto Residente (memoria física no intercambiada utilizada)
    • TTY: Tipo de terminal
    • STAT: Estado del proceso
    • START: Hora de inicio del proceso
    • TIME: Tiempo acumulado de CPU
    • COMMAND: El comando con todos sus argumentos

No te preocupes si no entiendes todos estos términos ahora. A medida que ganes más experiencia, te familiarizarás con ellos.

Filtrar procesos por usuario

Puedes filtrar los procesos para mostrar solo aquellos que pertenecen a un usuario específico. Esto es útil cuando quieres centrarte en los procesos propiedad de una cuenta de usuario en particular.

  1. Para ver los procesos propiedad del usuario root, ejecuta:

    ps -u root

    El usuario root es el superusuario en los sistemas Linux, con derechos completos de acceso al sistema. Muchos procesos del sistema se ejecutan bajo la cuenta root.

  2. Para ver los procesos propiedad de tu usuario actual (labex), ejecuta:

    ps -u labex

    Esto te mostrará todos los procesos que has iniciado bajo tu cuenta de usuario.

  3. Compara las salidas de estos dos comandos. Probablemente verás más procesos bajo el usuario root que bajo tu cuenta de usuario.

Monitorear procesos en tiempo real con top

El comando top proporciona una vista dinámica y en tiempo real de los procesos en ejecución. Es como un panel de control en vivo para tu sistema.

  1. Ejecuta el siguiente comando:

    top
  2. Verás una pantalla que se actualiza continuamente con los procesos del sistema, ordenados por uso de CPU. La pantalla se divide en dos secciones principales:

    • El área de resumen en la parte superior, que muestra información del sistema en general.
    • La lista de procesos, que muestra detalles de cada proceso individual.
  3. Mientras estés en top, puedes usar varios comandos:

    • Presiona M para ordenar por uso de memoria en lugar de CPU.
    • Presiona P para volver a ordenar por uso de CPU.
    • Presiona T para ordenar por tiempo de ejecución.
    • Presiona N para ordenar por PID.
    • Utiliza las flechas arriba y abajo para navegar por la lista de procesos.
    • Presiona q para salir de top.
  4. El área de resumen incluye información importante del sistema:

    • Tiempo de actividad del sistema y promedios de carga.
    • Resumen de tareas (total, en ejecución, en espera, detenidas, zombies).
    • Estados de la CPU (usuario, sistema, inactiva, etc.).
    • Uso de memoria (total, libre, utilizada, buffers/caché).
    • Uso de intercambio (swap).

Tómate un tiempo para explorar top. Es una herramienta poderosa para entender lo que está sucediendo en tu sistema en tiempo real.

Verificar el uso de memoria del sistema

El comando free te permite verificar rápidamente y fácilmente el uso de memoria del sistema.

  1. Ejecuta el siguiente comando para ver el uso de memoria en un formato legible para humanos:

    free -h

    La opción -h significa "legible para humanos", que muestra los tamaños en potencias de 1024 (por ejemplo, 1K, 234M, 2G).

  2. Verás una salida similar a esta:

                  total        used        free      shared  buff/cache   available
    Mem:           7.7G        4.1G        287M        624M        3.3G        2.7G
    Swap:          2.0G        506M        1.5G

    Analicemos lo que significa cada fila y columna:

    • Mem: Esta fila muestra información sobre la RAM de tu sistema.
    • Swap: Esta fila muestra información sobre tu espacio de intercambio (memoria virtual).

    Columnas:

    • total: Memoria total instalada.
    • used: Memoria actualmente en uso.
    • free: Memoria no utilizada.
    • shared: Memoria compartida por múltiples procesos.
    • buff/cache: Memoria utilizada por los buffers del kernel, la caché de páginas y las slabs.
    • available: Estimación de cuánta memoria está disponible para iniciar nuevas aplicaciones, sin intercambio.
  3. No te alarmes si tu memoria "libre" parece baja. Linux utiliza la memoria disponible para el caché de disco para mejorar el rendimiento del sistema, pero esta memoria se puede recuperar si las aplicaciones la necesitan.

Resumen

En este laboratorio, has aprendido cómo usar herramientas clave de gestión de procesos en Linux:

  • ps para listar y filtrar procesos
  • top para monitorear procesos en tiempo real
  • free para verificar el uso de memoria del sistema

Estos comandos son esenciales para la administración y resolución de problemas del sistema. Te permiten entender qué está ejecutándose en tu sistema, cómo se están utilizando los recursos y pueden ayudarte a identificar posibles problemas.

A medida que te sientas más cómodo con estas herramientas, puedes explorar opciones adicionales y combinarlas con otros comandos de Linux para un análisis más avanzado del sistema. Por ejemplo:

  • Utiliza ps con grep para encontrar procesos específicos.
  • Aprende a interpretar la información detallada en top para identificar aplicaciones que consumen muchos recursos.
  • Utiliza free en scripts para monitorear el uso de memoria a lo largo del tiempo.

Recuerda, la práctica hace al maestro. No dudes en experimentar con estos comandos por tu cuenta para profundizar en tu comprensión de la gestión de procesos en Linux. Cuanto más uses estas herramientas, más intuitivas se volverán.