jul 10, 2008
El comando TOP

El comando TOP muestra a tiempo real un listado de los procesos que se están ejecutando en el sistema, especificando además el % de Cpu y Memoria que están utilizando, sus IDs, usuarios que lo están ejecutando, etc. Todo esto y mucho más lo hace una de las herramientas imprescindibles para la administración de cualquier tipo de sistema Unix y derivado.
La salida por pantalla de Top, puede dividirse en dos partes, la “cabecera” muestra entre otras cosas, el Uptime del servidor, nº de usuarios conectados y load average. En la siguiente línea podemos ver el nº de procesos ejecutandose en el sistema, así como el uso de disco, memoria y cpus.
Posteriormente podemos observar un listado de procesos, que pueden ser ordenados por uso de cpu o memoria, lo que es una excelente ayuda para detectar procesos que consumen excesivos recursos en el servidor. Este listado, muestra varios detalles de cada uno de los procesos, como pueden ser el PID de proceso, usuario que lo ejecuta, %cpu y memoria que consume, comando que está ejecutando o tiempo de ejecución del proceso entre otros.
Como siempre digo, toda la información necesaria para sacar el máximo partido al proceso la tenemos en man:
man top
No obstante, paso a detallar algunas de las opciones que podemos pasarle al comando:
Opciones del comando TOP:
-c : Para visualizar la línea de comandos completa de cada proceso, activado mostrará las rutas completas, mientras que desactivandolo solo muestra el nombre del programa, ejemplo:
$ top -c: 4969 root 20 0 55092 39m 9m S 14 7.8 26:08.38 /usr/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7 $ top 4969 root 20 0 59996 39m 9m S 16 7.8 26:05.87 Xorg
-d : Intervalo de actualización y refresco, podemos asignarle un valor numérico (segundos) que determinará cada cuanto actualice la información.
-U : Monitorizar solamente los procesos de un determinado UID.
-p : Monitorizar solamente los ID de procesos especificados, ejemplo:
top -p12 -p133
-n : Especificaremos el nº de veces que actualizará hasta que finalice la ejecución de Top, ejemplo:
top -n4 # Refrescará la información cuatro veces y finalizará la ejecución de TOP.
Algún día hablaremos también de modificaciones del comando TOP, como por ejemplo HTOP.

[...] http://rm-rf.es/el-comando-top/ [...]
Hola, el comando top me muestra 2 user pero solo yo uso la pc. Que significa es normal o estoy compartiendo sin saberlo, gracias. Chau
Seguramente serán las X (entorno gráfico). En una terminal presiona la letra w (comando who) y te dirá quién está conectado a tu sistema:
~$ w
12:28:43 up 3:07, 2 users, load average: 0,66, 0,59, 0,56
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
alex tty7 :0 09:22 3:07m 12:14 0.23s x-session-manager
alex pts/0 :0.0 12:27 0.00s 0.21s 0.01s w
Verás que a mí también me salen dos, mi usuario y la sesión X.
[...] tenéis una máquina con más de una CPU, y el comando TOP en lugar de mostrar la información detallada de cada una de ellas la muestra conjunta, debéis [...]
Muchas gracias por la información, solo quisiera consultar, respecto a la linea CPU(s) como lo explicaste, muestra el % de us, sy, ni, id, wa, hi, si y st, por lo que deduzco el primero %us muestra el uso, pero que significado tienen los otros % y que implicancia tienen en el rendimiento??
Muchas gracias.
H0la Marcelo,
%us= Porcentaje de tiempo de CPU usada por procesos de usuarios
%sy= Porcentaje de tiempo de CPU usada por procesos de sistema
%ni= Porcentaje de tiempo de CPU usada por procesos en estado nice
%wa= Porcentaje de tiempo de CPU esperando a que tareas de I/O finalicen
%hi= Porcentaje de tiempo de CPU sirviendo interrupciones de Hardware
%si= Porcentaje de tiempo de CPU sirviendo interrupciones de Software
Hola!
En relacion al uso de la memoria coom deduzco cual es el porcentaje de la utilizacion de esta si lo que me da son numeros enteros
Por ejemplo:
Memory: 3000628K (2814592K) real, 4252520K (3957180K) virtual, 1457068K free Pa
ge# 1/19
Ahi me da los valores pero como se el porcentaje??
Hola nana!
Para ver el porcentaje de memoria utilizada en top tienes que presionar shift + m. Automáticamente ordenará los procesos por porcentaje de memoria consumida.
Saludos
Hola!
Se te ocurre algo como para sumar los porcentajes de tiempo de CPU y obtener el total como salida de un comando de consola? (grep, sed, awk, etc..)
Creo que no es el lugar adecuado, pero recuro a ustedes para un auxilio
tengo Postfix + Mailscanner + ClamAv.
me envio un mail desde mi propio dominio (nl@dominio.com a nl@dominio.com) y tarda minimo 3 horas.
al revisar el MAilscanner lo muestra como entregado.
me pueden dar algun pista
ya limpie la tabla maillog del mailscanner pensando que podria ser que este muy grande ya que tengo el log de 5 años, pero sigue igual
Gracias por la ayuda
Neil Lopez
neillopez@hotmail.com
Muy buenas a todos, este es el unico post que he encontrado que especifique esto tan completo, tengo dudas al respecto
Según lo que dijo Luis y con la consulta top -c me sale los siguientes valores, si esto es correcto tengo los siguientes valores
54.0%us= Porcentaje de tiempo de CPU usada por procesos de usuarios
1.8%sy= Porcentaje de tiempo de CPU usada por procesos de sistema
0.0%ni= Porcentaje de tiempo de CPU usada por procesos en estado nice
51.0%wa= Porcentaje de tiempo de CPU esperando a que tareas de I/O finalicen
0.7%hi= Porcentaje de tiempo de CPU sirviendo interrupciones de Hardware
0.0%si= Porcentaje de tiempo de CPU sirviendo interrupciones de Software
Bien evidentemente tengo un problema del %wa, pero como puedo solucionarlo o rebajarlo, ya le aumentamos la memoria ram al servidor, mejoro durante 1 mes pero ha vuelto otra vez a subir como la espuma
Hay algo que pueda hacer para solucionarlo?
Alguna sugerencia?
Gracias por la ayuda!
otra cosa, he estado viendo el comando htop
y no se que valores son:
1
2
Mem (eso me imagino que es memoria usada y total)
Swp
gracias y cualquier aclaración será de mucha ayuda!
[...] Linux y Unix existen otros comandos además de top para monitorizar de un modo eficiente la utilización de las CPU en el sistema. Hoy vamos a ver [...]
Gracias por el apunte.
Me gustaría hacerte una pregunta, sabes si hay forma de que liste solamente ciertos procesos, como por ejemplo Xorg? Muchas veces busco un proceso en concreto y tarda bastante en aparecer. Desconozco si hay alguna opción de que liste solo procesos por ejemplo que comiencen por X.
Gracias y un saludo.
Para eso ya es mejor usar ps (creo). En TOP puedes listar procesos según UID y demás, pero ese tipo de filtro creo que no.