IngDiaz

Procesos en GNU/Linux y el comando top

¡Hola a todos!. Creo que todos tenemos un concepto de lo que es un «Proceso» y, dependiendo de la disciplina a la que se refiera, puede variar un poco la interpretación del mismo; por ejemplo, en la gestión de calidad, un proceso se mira de una forma distinta a como se mira en informática, específicamente en los sistemas GNU/Linux, se entiende de otra manera. Al final, la informática toma los conceptos del mundo real para «digitalizarlo» en el mundo de los Unos y Ceros. En ésta entrada, hablaremos del concepto de «Procesos» enfocado en los sistemas GNU/Linux, así como también se analizará un poco el comando top.

¿Qué es un proceso?

Es una instancia de un programa en ejecución, también llamado tarea (task) o hilo (thread); En UNIX, un proceso se crea cuando se invoca o ejecuta un programa. Los procesos tienen estados, recursos asociados y pueden coexistir varias instancias de un mismo programa (procesos hijos).

¿Cuál es la diferencia entre un proceso y un programa?

Analogía: Digamos que un Chef quiere hacer un pastel.

Tomando en cuenta ésta analogía en el mundo de la informática, el programa esta instalado en el SO y no es necesario que este iniciado/ejecutándose todo el tiempo, por eso es una receta; el proceso (Preparación del pastel) aparece cuando se ejecuta el programa, por cuanto tendrá recursos asociados (memoria reservada, consumo de procesador,etc.).

Identificadores

Veamos algunos identificadores que tienen los procesos en los sistemas GNU/Linux:

Estados de un proceso

Como se mencionó anteriormente, los procesos tienen un estado que determina cómo se encuentra en ése momento. A continuación, algunos de estos estados:

Finalmente, mencionar que el típico comando para ver el estado de los procesos es ps (Process Status), pero aquí no nos vamos a detener mucho en éste comando. La típica línea de comando que frecuentemente se usa para encontrar un proceso específico es:

ps aux | grep "nombre_proceso"

Comando top

Con éste comando, podemos ver todos los procesos en tiempo real (3 segundos de refresco por defecto); es útil y sumamente usado en todos los sistemas GNU/Linux como herramienta de monitoreo, tanto de procesos como de los recursos del sistema:

Veamos un ejemplo de su ejecución:

Analicemos un poco cada línea importante:

Con Load Averga hay varios detalles que tenemos que ver, y es que es muy necesario conocer el # de procesadores que se tiene y el # de núcleos por procesador, así para poder tener una mejor comprensión de estos valores, pero espero en una próxima entrada tratar al respecto.

Otros detalles de top

Bien, hay mucho más de lo que se podría hablar del comando top y los procesos, pero nos quedaremos en ésta entrada con ésta información básica.

¡Saludos!

Comentarios por Facebook

comentarios