Verifique los procesos en ejecución como un usuario avanzado

¿Tu sistema Linux funciona lento? ¿O simplemente tienes curiosidad por lo que sucede debajo del capó? Hay un poderoso programa incorporado llamado «ps» que permite a los usuarios ver una instantánea de los procesos que se ejecutan en un sistema. Discutimos algunas de las opciones disponibles para ps y, en conclusión, debería poder verificar los procesos en ejecución en su computadora Linux como un nerd experimentado.

Introducción

La mayoría de las versiones de ps acepte opciones de estilo BSD (que pueden agruparse y NO DEBEN usarse con un guión), opciones de estilo UNIX (que pueden agruparse y DEBEN usarse con un guión) y opciones largas de GNU (que están precedidas por dos guiones). Para este artículo, combinaremos y usaremos varios tipos de opciones, con preferencia por los estilos UNIX. Por ejemplo:

  • ESTILO UNIX -u root especifica usuario = root
  • ESTILO BSD u especifica la visualización del formato orientado al usuario. Esta es una opción favorita ya que el formato de salida producido al usar esto contiene información muy útil.
  • OPCIÓN LARGA DE GNU –sort especifica el orden de clasificación del proceso. En este caso, ordene por ID de proceso (pid)

Este artículo preferiría las opciones de UNIX y usa BSD solo por brevedad. Por ejemplo, el comando

Muestra los procesos del usuario actual que están conectados a la Terminal.

muestra los procesos del usuario actual que están conectados a una terminal, con un formato de salida «orientado al usuario». Para obtener el mismo formato de salida usando las opciones de UNIX, se requiere la opción

ps -o "user,pid,pcpu,pmem,vsz,rss,tty,stat,bsdstart,bsdtime,args"

Las explicaciones del argumento de esta opción ‘-o’ son:

  • usuario: el ID de usuario efectivo o el nombre de usuario del proceso
  • pid – la identificación del proceso
  • pcpu: el tiempo de CPU utilizado por el proceso dividido por el tiempo que el proceso se ha estado ejecutando
  • pmem: el porcentaje de la memoria física utilizada por el proceso
  • vsz: el tamaño de la memoria virtual del proceso
  • rss: la memoria física no intercambiada que ha utilizado el proceso
  • tty: el terminal de control del proceso
  • stat: el estado del proceso, determinado mediante códigos de estado del proceso (lea las páginas del manual para obtener más información)
  • start_time: la hora en que comenzó el comando
  • tiempo: el tiempo de CPU acumulado utilizado por el proceso
  • args: el comando utilizado para ejecutar el proceso, junto con sus argumentos. (Esta es una de las razones por las que nunca es una buena idea ejecutar un comando e ingresar su contraseña como argumento de línea de comando. Cualquier otro usuario en el sistema puede ejecutar ps y vea los comandos que está ejecutando, junto con todas las opciones y argumentos pasados).

La convención utilizada de ahora en adelante será el comando (ps) seguido de la opción BSD ‘u’ para especificar el formato de salida, y luego las opciones UNIX y GNU según sea necesario.

Algunas opciones de ‘PS’

Ejecutar ‘ps’ sin argumentos muestra una lista de procesos con el mismo ID de usuario que el invocador y asociados con el mismo terminal que el invocador.

Para mostrar todos los procesos en ejecución:

Para mostrar todos los procesos del usuario actual:

Para mostrar todos los procesos del usuario actual, pero ordenados por uso de CPU (descendente).

NOTA: en el siguiente comando, usamos ‘-pcpu’ para lograr un porcentaje de uso de CPU descendente. Para ascender, use ‘+pcpu’ o simplemente ‘pcpu’. Consulte las páginas del manual para obtener especificadores de clasificación adicionales. Algunos comunes son pmem (uso de memoria), start_time (hora en que se ejecutó el comando) y time (cantidad de tiempo de CPU utilizado por el comando).

ps u -u `whoami` --sort=-pcpu

Para mostrar todos los procesos del usuario actual, en formato de árbol:

Muestra todos los procesos por usuario actual en formato de árbol.

Usando tuberías, ps se puede combinar con head para mostrar los procesos principales. El siguiente comando ordena primero por uso de memoria, luego se canaliza a través de head para mostrar los procesos que usan la mayor cantidad de memoria. Head muestra las primeras diez líneas de forma predeterminada, por lo que este comando mostraría los nueve procesos principales (el encabezado de salida es la primera línea).

Nota: «%mem» y «pmem» son sinónimos, al igual que «%cpu» y «pcpu».

ps u -u `whoami` --sort=-%mem | head

 Este comando mostraría los 9 procesos principales.

Para mostrar lo mismo para todos los procesos, independientemente del usuario, use el -e opción:

ps u -e --sort=-%mem | head

Conclusión

Hay literalmente cientos de opciones (aunque algunas son alias), y nos encantaría conocer y ver sus métodos de uso favoritos. Por favor, comparta en los comentarios a continuación.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *