Comprender cómo leer y analizar la utilización de recursos es una habilidad crítica para cualquier usuario de Linux. Muchos consideran que dominar las herramientas de línea de comandos es la mejor manera de aprender Linux desde cero, ya que proporcionan una visión profunda de cómo funciona Linux. Esta lección presenta top, una potente utilidad para rastrear lo que sus procesos están haciendo en tiempo real.
Entendiendo el comando top
Hemos mencionado brevemente top antes, pero ahora profundizaremos en los detalles de lo que muestra. El comando top le ofrece una vista dinámica y en tiempo real de los procesos y la utilización del sistema en su máquina.
top - 18:06:26 up 6 days, 4:07, 2 users, load average: 0.92, 0.62, 0.59
Tasks: 389 total, 1 running, 387 sleeping, 0 stopped, 1 zombie
%Cpu(s): 1.8 us, 0.4 sy, 0.0 ni, 97.6 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 32870888 total, 27467976 used, 5402912 free, 518808 buffers
KiB Swap: 33480700 total, 39892 used, 33440808 free. 19454152 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6675 patty 20 0 1731472 520960 30876 S 8.3 1.6 160:24.79 chrome
6926 patty 20 0 935888 163456 25576 S 4.3 0.5 5:28.13 chrome
Repasemos lo que significa esta salida. No tiene que memorizarlo, pero puede usar esta lección como referencia.
Resumen del Sistema
Las primeras líneas proporcionan un resumen de alto nivel del estado del sistema.
- 1ª línea: Esta es la misma información que vería si ejecutara el comando
uptime. Muestra la hora actual, el tiempo de actividad del sistema, el número de usuarios conectados y el promedio de carga del sistema durante los últimos 1, 5 y 15 minutos. - 2ª línea: Un resumen de todas las tareas (procesos), categorizados como en ejecución, durmiendo, detenidos o zombis.
Desglose del Uso de CPU
La tercera línea detalla la utilización de la CPU.
us: Porcentaje de tiempo de CPU dedicado a ejecutar procesos de usuario que no tienen nice.sy: Porcentaje de tiempo de CPU dedicado a ejecutar el kernel y sus procesos.ni: Porcentaje de tiempo de CPU dedicado a ejecutar procesos de usuario con nice (baja prioridad).id: Porcentaje de tiempo de CPU que está inactivo.wa: Porcentaje de tiempo de CPU dedicado a esperar a que se completen las operaciones de E/S. Un valor alto podría indicar un cuello de botella en el disco o la red.hi: Porcentaje de tiempo de CPU dedicado a atender interrupciones de hardware.si: Porcentaje de tiempo de CPU dedicado a atender interrupciones de software.st: Tiempo de robo (Steal time). En entornos virtualizados, este es el porcentaje de tiempo de CPU que una CPU virtual espera a una CPU real, mientras el hipervisor está atendiendo a otro procesador virtual.
Información de Memoria y Swap
La cuarta y quinta líneas muestran el uso del espacio de memoria y swap, respectivamente. Esto incluye las cantidades total, utilizada y libre.
La Lista de Procesos
El cuerpo principal de top es una lista de los procesos que consumen más recursos.
PID: El Identificador de Proceso único.USER: El usuario propietario del proceso.PR: La prioridad de planificación del proceso.NI: El valor "nice", que afecta su prioridad.VIRT: Memoria Virtual utilizada por el proceso. Es la cantidad total de memoria a la que el proceso puede acceder.RES: Memoria Residente utilizada por el proceso. Es la memoria física no paginada que está utilizando una tarea. Comprender la diferencia entre linux top virt res es clave para el análisis de memoria.SHR: Memoria Compartida utilizada por el proceso.S: El estado del proceso:S=dormido (sleep),R=ejecutándose (running),Z=zombi (zombie),D=sueño ininterrumpible (uninterruptible sleep),T=detenido (stopped).%CPU: El porcentaje de tiempo de CPU utilizado por este proceso desde la última actualización.%MEM: El porcentaje de RAM física utilizada por este proceso.TIME+: El tiempo total de CPU que el proceso ha utilizado desde que comenzó.COMMAND: El nombre del comando o la línea de comandos que inició el proceso.
You can also monitor a specific process by its ID, which is useful for focused troubleshooting:
top -p 1