Jugando con el comando top (GNU/Linux)
June 27, 2007 6:18 pm GNU/Linuxtop es una herramienta bastante útil para manejar procesos del sistema, me refiero a GNU/Linux
(para variar jeje). Para quieres no sepan de que estoy hablando, les presento a top (pequeñas modificaciones respecto a la presentación predeterminada):
Como ven muestra bastante información :), algunos de los campos que considero más importantes:
top - 11:42:00 up 16:37, 4 users, load average: 0.36, 0.35, 0.43
Muestra cuanto tiempo lleva prendido el sistema, además del número de usuarios conectados a la misma (en consolas “tty”, consolas virtuales “pts”, etc)
Tasks: 101 total, 1 running, 98 sleeping, 0 stopped, 2 zombie
El número total de procesos (101), cuantos activos (1), cuantos dormidos (98), cuantos parados (0) y cuantos zombies(2)..
Mem: 1294344k total, 838488k used, 455856k free, 127804k buffers
Información sobre el estado de la memoria RAM en kb, el total (1.29 GB aprox.), cuanta usada (usada y en buffer, 838 MB aprox.), libre (455 MB aprox.) y en buffers (127 MB aprox.).
Swap: 546168k total, 179888k used, 366280k free, 339480k cached
Lo mismo que para la memoria RAM pero ahora para la swap (memoria virtual en disco).
Columnas:
PID: Identificador del proceso (es como el nick XD)..
USER: Usuario que ha ejecutado el proceso.
PR: Prioridad del proceso en el sistema.
NI: Valor nice del proceso (si son negativos; tienen mayor prioridad, si son positivos; menos prioridad).
RES: Memoria RAM ocupada por el proceso.
%CPU: Porcentaje ocupado de la CPU
TIME+: Cuanto tiempo lleva el proceso en el sistema.
COMMAND: Nombre del procesos y sus parametros.
PPID: PID del proceso padre.
UID: ID del usuario que ha ejecutado el proceso.
Ya que sabemos más o menos lo que nos muestra top, podemos hacer algunas par de cosas más sobre la administración de los procesos (donde empieza la diversión XD).
1) Podemos activar/desactivar la linea de uptime con “l”.
Tasks: 101 total, 3 running, 96 sleeping, 0 stopped, 2 zombie Cpu(s): 4.7%us, 1.3%sy, 0.0%ni, 90.8%id, 0.0%wa, 0.1%hi, 3.1%si, 0.0%st Mem: 1294344k total, 846200k used, 448144k free, 128808k buffers Swap: 546168k total, 179652k used, 366516k free, 340452k cached
2) Podemos activar/desactivar la linea de Task y CPU con “t”.
top - 12:12:42 up 17:08, 4 users, load average: 0.33, 0.25, 0.24 Mem: 1294344k total, 846380k used, 447964k free, 128916k buffers Swap: 546168k total, 179648k used, 366520k free, 340464k cached
3) Podemos expandir la información si contamos con más de un procesador con “1″.
top - 12:13:24 up 17:09, 4 users, load average: 0.34, 0.26, 0.24 Tasks: 101 total, 2 running, 97 sleeping, 0 stopped, 2 zombie Cpu0 : 1.8%us, 0.8%sy, 0.0%ni, 92.0%id, 0.0%wa, 0.3%hi, 5.2%si, 0.0%st Cpu1 : 2.6%us, 0.8%sy, 0.0%ni, 96.6%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1294344k total, 841780k used, 452564k free, 128952k buffers Swap: 546168k total, 179648k used, 366520k free, 340512k cached
4) Podemos activar/desactivar la linea sombre la memoria RAM y SWAP con “m”.
top - 12:14:03 up 17:09, 4 users, load average: 0.32, 0.26, 0.24 Tasks: 101 total, 3 running, 96 sleeping, 0 stopped, 2 zombie Cpu(s): 2.5%us, 0.6%sy, 0.0%ni, 93.1%id, 0.0%wa, 0.6%hi, 3.1%si, 0.0%st
5) Podemos eliminar un proceso con “k” y después escribir el PID del proceso.
PID to kill: 7209
6) Podemos cambiar el nivel de nice (columna NI) con “r”, valores negativos mayor prioridad, valores positivos menor prioridad, valor nice por defecto 10.
PID to renice: 7209
Renice PID 7209 to value: -1
PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND 7209 5.4 184m 115m 68m 1284 99m 32m 885 0 S 14 -1 2 epiphany
7) Podemos con “G” cambiar el modo de presentación dependiendo lo que nos interese ver, regularmente a mí me gustar ver que tanto de memoria gasta cada proceso, para eso después de pulsar “G”, escribimos 3 y enter. Si quieres ver procesos por usuario podemos ponerle en 4. El predeterminado es 1.
Choose field group (1 - 4):
Podemos con “u” ver los procesos del usuario que le indiquemos.
Which user (blank for all): soullost
9) Podemos con “f” cambiar las columnas a mostrar.
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def Toggle fields via field letter, type any other key to return * A: PID = Process Id * E: USER = User Name * H: PR = Priority * I: NI = Nice value * O: VIRT = Virtual Image (kb) * Q: RES = Resident size (kb) * T: SHR = Shared Mem size (kb) * W: S = Process Status * K: %CPU = CPU usage * N: %MEM = Memory usage (RES) * M: TIME+ = CPU Time, hundredths b: PPID = Parent Process Pid c: RUSER = Real user name d: UID = User Id f: GROUP = Group Name g: TTY = Controlling Tty j: P = Last used cpu (SMP) p: SWAP = Swapped size (kb) l: TIME = CPU Time r: CODE = Code size (kb) s: DATA = Data+Stack size (kb) u: nFLT = Page Fault count v: nDRT = Dirty Pages count y: WCHAN = Sleeping in Function z: Flags = Task Flags <sched.h> * X: COMMAND = Command name/line
10) Podemos con “o” (de oso xD) cambiar el orden de las columnas que especificamos anteriormente.
Current Fields: AEHIOQTWKNMbcdfgjplrsuvyzX for window 1:Def Upper case letter moves field left, lower case right * A: PID = Process Id * E: USER = User Name * H: PR = Priority * I: NI = Nice value * O: VIRT = Virtual Image (kb) * Q: RES = Resident size (kb) * T: SHR = Shared Mem size (kb) * W: S = Process Status * K: %CPU = CPU usage * N: %MEM = Memory usage (RES) * M: TIME+ = CPU Time, hundredths b: PPID = Parent Process Pid c: RUSER = Real user name d: UID = User Id f: GROUP = Group Name g: TTY = Controlling Tty j: P = Last used cpu (SMP) p: SWAP = Swapped size (kb) l: TIME = CPU Time r: CODE = Code size (kb) s: DATA = Data+Stack size (kb) u: nFLT = Page Fault count v: nDRT = Dirty Pages count y: WCHAN = Sleeping in Function z: Flags = Task Flags <sched.h> * X: COMMAND = Command name/line
11) Podemos con “H” ver los procesos tomando en cuenta los threads de los mismos.
12) Podemos con “c” ver los argumentos de los procesos con los que han sido ejecutado.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 7489 soullost 18 0 0 0 0 Z 0.0 0.0 0:00.00 [play] <defunct> 7387 soullost 15 0 66708 27m 11m S 0.0 2.2 0:03.72 eog file:///home/soullost/Desktop/top.png 7367 soullost 15 0 3408 1736 1400 S 0.0 0.1 0:00.06 bash
13) Podemos con “z” cambiar el color de las columnas :). Si estamos en el modo 3 para ver procesos según la memoria que usen, pulsamos “z” y después “x” tendremos las columnas de un color (en mi caso como purpura) y la correspondiente a la %MEM con un background resaltando dicha columna
(me explico?). Algo como lo siguiente:
14) Podemos con “Z” modificar el color de las columnas cuando pulsamos “z”.15) Podemos con “n” o “#” definir el número de procesos a mostrar.
Maximum tasks = 2, change to (0 is unlimited): 2 PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND 6054 2.4 49572 18m 29m 4 37m 2828 427 0 S 15 0 0.0 wish 6244 0.8 75040 62m 10m 36 34m 1640 4 0 S 15 0 0.0 trashapplet
16) Podemos con “A” mostrar top con multiventanas (similar a la primera imagen donde les presentaba a top).
17) Podemos guardar las preferencias y modificaciones de top con “W”.
18) Por último, podemos ver la ayuda de top con “h” :D..
Espero les sea de utilidad y que se diviertan jugando con top :).
Nos vemos :P.
Califica el tema:Temas Relacionados:

(5 votes, average: 4.8 out of 5)
November 2nd, 2008 at 10:10 pm
Sensacional. Algo asi buscaba. Me encanta G3