No es tan frecuente en Linux, como en Windows, que algún proceso ocupe demasiado tiempo de procesador e incluso llegue a “colgar” la máquina. Sin embargo es bueno saber que desde la terminal podemos recuperar el control de nuestro sistema con un par de pasos, que no son difíciles, y que hay programas que ayudan en la tarea de tener siempre controlado nuestro ordenador.

Para mostrar los procesos que corren en Linux, simplemente, ejecutamos en la consola:

top

Esto nos genera una salida “interactiva” similar a la siguiente:

top - 14:54:04 up 2 days, 13:44,  1 user,  load average: 1.13, 1.26, 1.55Tasks: 118 total,   4 running, 114 sleeping,   0 stopped,   0 zombieCpu(s):  7.7%us,  2.0%sy,  0.0%ni, 89.3%id,  0.0%wa,  0.0%hi,  1.0%si,  0.0%stMem:    775588k total,   746344k used,    29244k free,     5428k buffersSwap:  1004020k total,    35440k used,   968580k free,   388388k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND4912 root      16   0  106m  74m 6452 S  2.0  9.8  59:11.95 Xorg6053 sergio    15   0 39672  20m  16m S  2.0  2.7  67:12.35 kded378 sergio    15   0  223m 122m  27m S  1.7 16.2  54:13.70 firefox-bin6101 sergio    15   0 69476  30m  19m S  1.3  4.0  55:02.81 ktorrent6119 sergio    15   0  139m  46m  27m R  1.3  6.1   9:19.02 amarokapp1998 sergio    15   0 35500  16m  12m R  1.0  2.1   0:03.70 konsole1347 nobody    15   0  1912  716  604 S  0.7  0.1   1:00.05 pppoe4346 sergio    15   0  2364 1156  876 R  0.3  0.1   0:00.11 top1 root      15   0  2948 1820  496 S  0.0  0.2   0:01.16 init2 root      13  -5     0    0    0 S  0.0  0.0   0:00.01 kthreadd3 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 migration/04 root      34  19     0    0    0 S  0.0  0.0   0:04.41 ksoftirqd/05 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/06 root      10  -5     0    0    0 S  0.0  0.0   0:00.27 events/07 root      10  -5     0    0    0 S  0.0  0.0   0:00.01 khelper26 root      10  -5     0    0    0 S  0.0  0.0   0:08.62 kblockd/027 root      20  -5     0    0    0 S  0.0  0.0   0:00.00 kacpid

Obviamente para la persona que no está interiorizada del funcionamiento de Linux/Unix, esto se asemeja bastante al código de la Matrix.
Como nuestro objetivo es solamente saber cómo dar de baja a los procesos que se están comiendo todo nuestro sistema, la tarea se reduce a observar el tope de la tabla, donde está el mayor consumo para cerciorarnos si realmente es ese nuestro problema.
En general cuando hay un cuelgue, se trata de alguna aplicación que hizo algo inválido y quedó con un excesivo consumo de memoria y procesador, entonces es eso lo que debemos revisar…

En el ejemplo vemos que el Xorg consume, aproximadamente, un 2% de CPU y 9,8 % de Memoria.
Estos valores son normales y corresponden a TODO el entorno gráfico que nos permite interactuar con el ordenador.
El problema se va a apreciar si hay alguna aplicación usando un 90 % de CPU o memoria, por ejemplo, y seguramente lo notaremos porque hemos hecho alguna operación en algún programa que genera estos indicadores altos.

En caso de que sea sólo una aplicación y estemos presenciando su “cuelgue” en pantalla sin poder darla por finalizada haremos lo siguiente:

  1. Ver su PID (Process ID) que es el número único que se le otorga a un proceso al comienzo del mismo.
  2. Constatar que se trata de la aplicación con problemas

Una vez que tenemos estos datos, simplemente “matamos” el proceso con la siguiente orden:

sudo kill PID

Donde colocaremos, justamente, el número de PID.

En caso de que no nos deje matar porque se trata de un proceso “bloqueado”, tendremos la posibilidad de adicionarle la orden de que lo haga de todas formas:

sudo kill -9 PID

Es una manera sencilla de solucionar este tipo de inconvenientes.
No es frecuente, pero puede pasar, todas las aplicaciones tienen bugs y pueden “crashear” en el momento menos esperado.

También tenemos una opción, un poco más gráfica de hacer este mismo trabajo.
Se trata de htop, una implementación del comando top en un estilo semi-gráfico y con posibilidad de utilizar el mouse.

Lo instalamos con el comando:

sudo apt-get install htop

Una vez instalado lo corremos en la consola por su nombre:

htop

Y veremos algo como lo siguiente:

Allí tenemos la posibilidad de ver el consumo total de memoria y procesador con una barra indicadora en color.
Podemos seleccionar un proceso y matarlo con F9, de una forma más visual sin salir de la consola.

10/02/2008

Podemos buscar el PID de una aplicación que está fallando con el siguiente comando en consola:

ps -fe|grep nombre

Por ejemplo:

ps -fe|grep firefox

Lo que nos da un resultado similar al siguiente:

sergio   26830  6062  0 Feb09 ?        00:00:00 /bin/sh /usr/bin/firefoxsergio   26842 26830  0 Feb09 ?        00:00:00 /bin/sh /usr/lib/firefox/run-mozilla.sh /usr/lib/firefox/firefox-binsergio   26846 26842 16 Feb09 ?        00:36:44 /usr/lib/firefox/firefox-binsergio   29954 29363  0 00:55 pts/4    00:00:00 grep firefox

En este ejemplo el PID del Firefox es 26830, que es el proceso “Padre”.

Para finalizarlo ejecutamos:

sudo kill -9 26830

Post Popular: 1%

3 Respuestas


  1. Halle on 04 feb 2008

    Más de una vez tuve que matar un proceso.

    Yo los busco con el ps -ef|grep que vos mismo me enseñaste. Podrías agregarlo, para cuando sabemos que proceso tiene el problema y solo buscamos el PID.

  2. Guty on 05 feb 2008

    A mi me mató esto:
    6101 sergio 15 0 69476 30m 19m S 1.3 4.0 55:02.81 ktorrent

    Había un video musical en youtube en honor al “kill -9″

  3. sergio on 06 feb 2008

    Halle: Me hiciste acordar. Lo voy a agregar.

    guty: Shhh, estoy compartiendo soft libre, qué pensabas?
    Voy a buscar el video…

    Gracias!


Dejá tu comentario!