Limitar el uso de cpu
martes, 22 de mayo de 2012Ahora que se acerca el calor es fundamental controlar la temperatura del procesador, ya me ha pasado en más de una ocasión, abro una carpeta de fotos en la consola y ale! imagemagick, hazme un «montage» de 3000 fotos en alta resolución con rescalado y filtros de efectos aplicados al vuelo. A los 3 minutos el ordenador bloqueado y la torre pitando porque el procesador se ha puesto 90º, y te las ves y te las deseas para detener el proceso con el escritorio que no responde.
Al principio lo arreglaba metiendo la orden en un bucle FOR y poniendo un pequeño sleep, algo así como fúmate un cigarro entre foto y foto. Luego, buscando una solución que no pasase por andar cambiando/mejorando la ventilación de la torre encontré cpulimit una pequeña aplicación que trata de limitar el uso de cpu de un proceso a partir de su pid ó del nombre del proceso.
El uso básico sería algo como:
cpulimit -l 90 -e montage
es decir limita el uso de la cpu al 90% para la aplicación montage.
Si el programa está en ejecución cpulimit evitará que este supere el 90% (mas que suficiente como para evitar sobrecalentamiento) y si no encuentra dicho programa quedará en espera (no en background ó como daemon) de que el susodicho programa aparezca en la lista de procesos para «atraparlo» y proceder a su limitación. Es decir, una vez la aplicación que queríamos controlar finaliza su tarea no lo hace cpulimit sino que continua ejecutándose a la espera de que la aplicación vuelva a aparecer. Esto es especialmente útil para procesos en serie, en los que el programa se lanza múltiples veces y queremos controlarlo independientemente de que su pid cambie.
Instalación
La instalación es muy sencilla solo descargar y una compilación megarápida
svn checkout https://cpulimit.svn.sourceforge.net/svnroot/cpulimit/trunk cpulimit
cd cpulimit
make
#si ahora lo quieres instalar haz simplemente
sudo cp cpulimit /usr/bin/
Sr XX-Terror
#1/ 22 de May/2012 a 13:06:46
Otros comentarios de «Sr XX-Terror»
Pásale un escobica y le pegas un manguerazo.
Tanta jodia carrera tecnológica para que vengas tu ahora a ponerle límites. Nelmundo!.
manuti
#2/ 22 de May/2012 a 13:35:20
Otros comentarios de «manuti»
Sencillo, limpio, potente ... todo un descubrimiento.
Trebol-a
#3/ 22 de May/2012 a 13:38:06
Otros comentarios de «Trebol-a»
jeje, no me arregle usted todo a manguerazos, que cpulimit también sirve para ejecutar aplicaciones "al ralentí..." y evitar que sufra el servidor apache con algún proceso loco.
Lo cual efectivamente no quita para que el disipador esté pidiendo una limpieza... todo sea dicho.
18 de December, 2024 @ 11:02