2.7.4.2.- Interpretar la salida de ps

Los listados de abajo muestran un ejemplo de ps en acción.

ps_forest_1

ps_forest_2ps_forest_3

La salida generada por ps, normalmente comienza por un encabezado, que nos muestra el significado de cada columna. Entre la información importante que puede mostrarse (y etiquetarse) se incluye la siguiente:

  • Nombre de usuario.- Es el nombre del usuario que ejecuta el programa. Los ejemplos anteriores restringen a un usuario para limitar el tamaño de los listados.ps_usuario
  • ID del proceso.- La ID del proceso (PID) es un número que está asociado al proceso. En particular este elemento es muy importante, porque es necesario para modificar o destruir el proceso, como veremos más adelante.ps_ID
  • ID del proceso padre.- La ID del proceso padre (PPID) identifica al padre del proceso (ninguno de los listados lo muestran).
  • TTY.- El teletipo (TTY) es un código que se utiliza para identificar un terminal. No todos los procesos tienen número de TTY (los programas X y demonios, por ejemplo, no los tienen). Los programas en modo texto si que tienen estos números, que apuntan a una consola, xterm o a una sesión de acceso remoto.ps_TTY
  • Tiempo de CPU.- Los encabezados TIME y CPU son dos medidas del tiempo de CPU empleado. La primera indica la cantidad total de tiempo de CPU consumido y la segunda representa el porcentaje de tiempo de CPU que utiliza el proceso cuando ejecutamos ps. Además ambas nos puede servir para localizar procesos descontrolados (aquellos que consumen demasiado tiempo de CPU). Desafortunadamente lo que se considera “demasiado” varía de un programa a otro, por lo que es imposible proporcionar una sencilla regla.ps_TIME_CPU
  • Prioridad de la CPU.- Podemos dar distintas prioridades a los diferentes procesos para el tiempo de CPU. Si aparece la columna NI (no aparece en los ejemplos anteriores), lista estos códigos de prioridad. El valor por defecto es 0. Los valores positivos representan la prioridad reducida, mientras que los negativos representan la prioridad incrementada.
  • Uso de la memoria.- Hay varios encabezados que indican el uso de la memoria; por ejemplo, RSS es el tamaño del conjunto residente (la memoria usada por un programa y su información) y %MEM es el porcentaje de memoria que utiliza el programa. Algunos formatos utilizan también el encabezado SHARE, que es la memoria que se comparte con otros procesos (como las bibliotecas compartidas). Al igual que en el caso de las medidas de uso de la CPU, estas columnas pueden ayudarle a localizar el origen de las dificultades, ya que las necesidades de memoria de los programas varían mucho, es imposible proporcionar un criterio sencillo cuando existe un problema.ps_RSS_MEM
  • Comando.- La última columna de la mayoría de los listados es el comando utilizado para iniciar el proceso.ps_comando

Como podemos observar, podemos obtener mucha información de un listado de ps. En general, la PID, el nombre de usuario y el comando son las partes más importantes de la información, aunque en algunos casos puede que necesite especificar otros componentes. Si, por ejemplo, el uso de la memoria o la CPU de su sistema se disparan, debería prestar atención a las columnas del uso de memoria CPU.

ps_truco

Aunque puede que necesite una pantalla ancha o xterm para ver la salida, puede que ps -A --forest le resulte un comando útil para conocer mejor su sistema.Los procesos que no están vinculados a otros los inició directamente init o tienen procesos padres, motivos por lo que init los ha adoptado. La mayoría de estos procesos son bastantes importantes, pero son servidores, herramientas de acceso, etc.

Ejemplo consola xterm

Ejemplo consola xterm

Ejemplo de ps ax | grep bash

Ejemplo de ps ax | grep bash

Anuncios