Monitorización de Procesos - Sinbucles
Monitorización de Procesos - Sinbucles
Monitorización de Procesos - Sinbucles
El comando ps
Este comando muestra la información de los procesos activos en el sistema. Si
ejecutamos el comando sin argumentos se muestran los procesos con el mismo
identificador y el mismo terminal de control (esto es, los procesos de usuario
ejecutados en ese terminal). Hay muchas opciones con las que podemos controlar
el comportamiento de la la orden ps (consultar la página del manual man ps).
Algunas de las órdenes más importantes son:
1/11
Ejercicios sobre el comando ps
1. Abre un terminal en tu ordenador. Ejecuta en él un par de procesos en
background como:
xclock&
xeyes&
2. Ejecuta el comando “ps -l” de manera que muestre información sobre todos
los procesos que se están ejecutando en el sistema. Copia la salida en tu
hoja de respuestas.
2/11
3. Ejecuta el comando “ps aur” desde el terminal. ¿por qué no aparecen los
procesos “xclock y xeyes”? Cambiando sólo una letra del anterior comando te
aparecerán todos los procesos iniciados en el sistema ¿qué comando debes
escribir? ¿qué porcentaje de memoria y de CPU consumen “xclock” y
“xeyes”? Describe el resto de información que se nos aporta sobre estos dos
procesos.
3/11
Si escribimos ps aux | grep ‘xclock\|xeyes’, buscamos por esos procesos y nos
aparece lo siguiente:
Como podemos ver xclock muestra 0.0% en ambos y xeyes 0.4% en %CPU
4. Averigua por qué en el comando “ps” hay opciones que empiezan por guión y
otras que no ¿son compatibles (las puedo combinar)? ¿existe otro conjunto
de comandos?
4/11
No he encontrado otro comando que haga lo mismo
6. Si quiero que la lista de procesos que me aparece con “ps” esté ordenada por
la hora de inicio de los procesos, ¿qué opción debo de escribir?
Para ordenarlo por la hora de inicio se puede usar la opción –sort -pcpu:
5/11
El comando top
Este comando se usa para obtener la actividad de un procesador en tiempo real.
Muestra el uso de la CPU de los procesos, el uso de la memoria por los procesos y
cuanto tiempo llevan ejecutándose.
9. Pega lo que muestra el comando “top”. Si es necesario para que se vea bien
pega un pantallazo de lo que aparece en el terminal.
6/11
10. ¿Cuál es el uso de la CPU del sistema?
4,8%
El proceso Xorg
14. Estando ejecutando el comando “top”, podemos pulsar la tecla “h”. Observa
que si haces esto aparece una lista de opciones que están disponibles.
Revísala y prueba algunas de ellas. Anota qué opciones has probado.
Z- añade color
m- camba el overlay de la info
B- activa el modo negrita
7/11
15. Las siguientes opciones te pueden resultar interesantes:
● top d [t]: se toman datos cada t segundos.
● top b: muestreo por lotes.
● top u [user]: para obtener los datos de los procesos de un determinado
usuario.
El comando time
El comando “time” mide el tiempo de ejecución de un programa. Toma la medida del
tiempo durante el que se ha estado ejecutando la aplicación (real), y de los tiempos
de ejecución de código en modo usuario (user) y en modo supervisor (sys), como
resultado de llamadas del programa al sistema operativo, de modo que :
El comando xload
Este comando muestra gráficamente el promedio de carga del sistema.
8/11
El comando vmstat (Virtual Memory Statistic)
A través de él podemos obtener datos del estado de los procesos, la utilización de la
CPU, la utilización de la memoria, el tráfico en los discos, etc. Veremos, a
continuación, un breve resumen de la funcionalidad de este comando.
La primera línea que devuelve el comando es una media de los valores tomados
desde el último arranque del sistema y , generalmente, no debe tenerse en cuenta.
Un listado típico tras la ejecución de “vmstat 5 5” (lo ejecuta 5 veces cada 5
segundos)
A continuación tienes una explicación de lo que significa cada una de las columnas:
● Procs:
r(run queue): Número de procesos esperando por procesador.
b(blocked). Procesos que están bloqueados, que dieron paso a otros
procesos para que se continúe en ejecución.
● Memory:
swapped: Cantidad de procesos completos pasados (swapped) a disco.
free: Cantidad de memoria física desocupada (no usada), libre para ser
usada.
buff: Memoria en KB de datos que están esperando para ser copiados a
disco.
cache: Es el tamaño en KB de los datos que han sido leídos desde el disco.
Si una aplicación necesita leer estos datos de nuevo, este cache permitirá
cargarlos sin acceder a disco.
● Swap:
si(swapping in): Cantidad de memoria pasada desde disco a memoria (el
proceso se llama swapping).
so(swapping out): Cantidad de memoria pasada a disco desde memoria (el
proceso se llama swapping).
● IO(In/Out):
9/11
bi(block in): Bloques recibidos desde un dispositivo de bloque (La estructura
del disco trabaja en bloques de 8192b, 512b o como lo hayamos definido).
bo(block out): Bloques recibidos hacia un dispositivo de bloque.
● System:
in(interruptions): Interrupciones por segundo, incluido los ticks del reloj del
procesador (para que puedas ver cómo se manejan las interrupciones,
ejecuta el vmstat y mueve rápidamente el mouse, ahora mira la columna, el
sistema operativo cuenta cada movimiento del mouse, así como pulsar
teclas, etc.)
cs(context switch): Número de cambios de contexto(context switch) por
segundo (un proceso debe dejar el procesador para darle paso a otro
proceso, por agotar su quantum por ejemplo).
● CPU:
us (user): Gasto de procesos en espacio usuario (todos los procesos de
aplicaciones de usuarios, desde una base de datos, hasta un navegador).
sy(system): Gasto de procesos en espacio kernel (todo lo que forma el
sistema operativo base).
Id(idle): Tiempo en el que el procesador está sin ser usado (100% significa
que el procesador no tiene carga, 20%, hay un 80% de procesos que lo están
ocupando).
wa: Tiempo de espera para I/O (ejemplo procesos esperando para ser
copiados en disco duro, pasados a memoria, etc.)
10/11
18. ¿Tienen algún interés los datos ofrecidos por la primera línea? Razona la
respuesta.
20. El comando “top” también nos ofrecía información sobre la memoria del
sistema, comprueba qué información acerca de la memoria se ofrece en
ambos comandos a la vez y contesta si sus valores coinciden.
11/11