Con estas dos secuencias de comandos podréis ver de un modo rápido y sencillo los procesos ordenados por uso (%) de CPU y memoria. Por supuesto no es necesario (ni práctico) escribir el comando completo en la shell cada vez que lo queráis ejecutar, os recomiendo crear un alias específico para cada uno de ellos.
Listar procesos por % cpu, veréis que eliminamos aquellos que usan 0.0 de CPU con sed (sed ‘/^ 0.0 /d):
ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
Ejemplo:
$ ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'
%CPU CPU NI S TIME COMMAND
0.2 - 0 S 00:00:24 metacity
0.2 - 0 S 00:00:00 /usr/bin/python /usr/bin/terminator
0.2 - 0 S 00:00:28 gnome-screensaver
0.2 - 0 S 00:00:31 gnome-panel
4.6 - 0 S 00:08:23 /usr/bin/pulseaudio --start
7.4 - 0 S 00:13:24 /usr/X11R6/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
7.5 - 0 S 00:04:31 rhythmbox
14.4 - 0 S 00:08:50 /usr/lib/firefox-3.5.4/firefox-3.5
Listar procesos por uso de memoria (en KB):
ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
Ejemplo (reducido):
$ ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS
23964 gnome-panel
26168 nautilus
26256 /usr/bin/python /usr/bin/terminator
58340 /usr/X11R6/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
58728 rhythmbox
128736 /usr/lib/firefox-3.5.4/firefox-3.5
Encontrado en pixelbeat
Una entrada para los que se inician en el mundo Unix/Linux. El comando ps muestra por pantalla un listado de los procesos que se están ejecutando en el sistema.
Si no añadimos ningún parámetro, ps mostrará los procesos del usuario con el que estamos logueados. Por otra parte, los parámetros más básicos a conocer son los siguientes:
-aux Lista los procesos de todos los usuarios con información añadida (destacamos más abajo).
-a Lista los procesos de todos los usuarios.
-u Lista información del proceso como por ejemplo el usuario que lo está corriendo, la utilización de Cpu y memoria, etc.
-x Lista procesos de todas las terminales y usuarios
-l Muestra información que incluye el UID y el valor “nice“.
–forest – Muestra el listado procesos en un formato tipo árbol que permite ver como los procesos interactuan entre si, podría ser algo similar al comando pstree.
Ejemplo de uso del comando ps:
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 2844 1692 ? Ss 18:13 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S< 18:13 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S< 18:13 0:00 [migration/0]
root 4 0.0 0.0 0 0 ? S< 18:13 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 18:13 0:00 [watchdog/0]
root 6 0.0 0.0 0 0 ? S< 18:13 0:00 [migration/1]
root 7 0.0 0.0 0 0 ? S< 18:13 0:00 [ksoftirqd/1]
root 8 0.0 0.0 0 0 ? S< 18:13 0:00 [watchdog/1]
root 9 0.0 0.0 0 0 ? S< 18:13 0:00 [events/0]
root 10 0.0 0.0 0 0 ? S< 18:13 0:00 [events/1]
root 11 0.0 0.0 0 0 ? S< 18:13 0:00 [khelper]
root 47 0.0 0.0 0 0 ? S< 18:13 0:00 [kblockd/0]
root 48 0.0 0.0 0 0 ? S< 18:13 0:00 [kblockd/1]
root 51 0.0 0.0 0 0 ? S< 18:13 0:00 [kacpid]
root 52 0.0 0.0 0 0 ? S< 18:13 0:00 [kacpi_notify]
root 128 0.0 0.0 0 0 ? S< 18:13 0:00 [kseriod]
root 168 0.0 0.0 0 0 ? S 18:13 0:00 [pdflush]
root 169 0.0 0.0 0 0 ? S 18:13 0:00 [pdflush]
root 170 0.0 0.0 0 0 ? S< 18:13 0:00 [kswapd0]
...
...
...
Podéis revisar también la entrada en la que hablaba del comando pgrep o top, pues os puede ser de utilidad, en breve hablaremos de comandos relacionados como kill, killall , pkill, etc.
Últimos comentarios