jueves, 26 de abril de 2012

Como evitar que un proceso "se coma" tu CPU


En ocasiones, noto que mi ordenador empieza a ralentizarse. Normalmente, es culpa de Amule, que cada vez consume más y más CPU. Pero puede ser cualquier programa el que por unas causas u otras se convierta en un devorador de recursos y ralentice mi ya de por sí lento ordenador.

Vamos a evitar esto.

Lo primero, es averiguar que aplicación es la que esta haciendo un uso desmesurado de tu CPU. Para eso tenemos una aplicación que nos vendrá como anillo al dedo, top

La ejecutamos en una terminal sin mas miramientos y nos mostrara una pantalla en la que nos indica por orden de mayor a menor, y en tiempo real los datos de consumo de CPU de las aplicaciones. Solo tenemos que mirar el nombre o el PID de la que veamos que esta “descontrolada”. Hecho esto, salimos de top pulsando la "q"



El siguiente paso es ponerle un limite de consumo de CPU a esta aplicación, para lo que utilizaremos cpulimit. Este programa no se instala por defecto al hacer una instalación básica, pero lo podemos instalar en segundos desde Synaptic o desde la consola con aptitude o apt-get.
  • sudo aptitude install cpulimit

Y ahora vamos con lo interesante. Vamos a pedir que cpulimit no permita a nuestra aplicación díscola sobrepasar un porcentaje de uso de CPU
  • sudo cpulimit -e nombredelaaplicacionqueidentificamosgraciasatop -l tantoporcientodeusodecpu &
o bien
  • sudo cpulimit -p piddelaaplicacionqueidentificamosgraciasatop -l tantoporcientodeusodecpu &
El nombre de la aplicación o el pid es el que vimos al ejecutar antes top y el porcentaje de uso de la CPU es el máximo de tiempo de uso de la CPU que se tolerara. El carácter & final es para que cpulimit se ejecute en segundo plano y no se cierre cuando cerremos la terminal.

Como ves, se trata de una operación muy sencilla, pero para que quede mas claro, veremos como limitar el uso que amuled hace de mi CPU a un 40%, que es un valor en el que me deja trabajar bien.
  • sudo cpulimit -e amuled -l 40 &
Y así de simple y sencillo es evitar que una aplicación "se coma" mi CPU.

2 comentarios:

  1. Hola Carlos,
    Gracias por tu aporte, pero me quedo en un paso. No sé cómo ejecutar cpulimit
    Gracias

    ResponderEliminar
    Respuestas
    1. Si has identificado el PID de la aplicación que queremos limitar tienes que poner
      sudo cpulimit -p PID -l porcentajedecpu &

      Eliminar

prekes sodui