[Linuxcantabria] Limitar CPU usada por un programa... ¿ideas?

Dan Fernandez, aka "Netwalker" dan.netwalker en gmail.com
Dom Oct 30 23:28:33 UTC 2005


El dom, 30-10-2005 a las 19:19 +0100, Vicente H. escribió:
> 2005/10/30, Dan Fernandez, aka Netwalker <dan.netwalker en gmail.com>:
> > El procesador es un Pentium Mobile Celeron a 2.5GHz. **Sé** que en
> > windows se podia hacer (la unica forma de que el unreal tournament no
> > pusiese a 75º la maquina a la media hora de juego), pero no me habia
> > acordado de hacerlo en el linux hasta ahora.
> 
> Eso no era con cpufreq ¿no lo tiene activado por defecto tu
> distribución? de otra forma no sé ni de que hablas.
Lo de bajar la frecuencia del procesador, se puede hacer con
emifreq-applet, powernow y cpufreq, siempre que el modulo speedstep-lib
este cargado, junto con el especifico de tu arquitectura (p4-clockmod en
mi caso). Pero no es lo que busco.

Estos programas sirven para decir al reloj del procesador "chavalote, a
partir de ahora marcas a 1GHz", y las aplicaciones seguirian funcionando
como siempre. Traduccion: yo entro en el wolfestein, y el consumo de CPU
salta al 100%. Al 100% de 1GHz, si, pero al 100%, disipando calor para
subir 2 grados por segundo hasta los 70ºC o 75ºC.

Con windows habia un programa (WinWaterfall?) que insertaba
instrucciones de "parada" en el micro. Resultado: de cada 1 millon de
instrucciones que ejecutabas, 200.000 eran instrucciones de "parada", de
modo que esas 200000 instrucciones el procesador estaba descansando, por
lo tanto no generaba calor, por lo tanto durante ese tiempo se disipaba
mas calor que el que el micro generaba.

Linux introduce esas instrucciones por defecto, siempre que no tenga
nada mejor que hacer (cuando esta en "idle", vamos). Lo que significa,
si pudiese decirle al kernel "a este programa no le des mas del 50% de
tiempo de procesador que tengas disponible", el resto del tiempo
-descontando lo que gaste las X.org y demas aplicaciones- sera tiempo de
procesador "idle", el kernel estara insertando instrucciones de "parada"
y por lo tanto estara enfriandose durante estas instrucciones.

Repito, en windows se hacerlo, pero me come la p**** si cree alguien que
voy a volver a instalar Win para jugar al wolfestein tranquilo (con
perdon). En linux es facil en teoria: limita el % de tiempo de
procesador para un programa. ¿Alguien sabe como hacerlo, o me pongo en
contacto con tolvards directamente?

Y gracias por la ayuda. Como decia Edison: hasta ahora solo he dado con
maneras de no hacer lo que busco, ahora falta encontrar una sola manera
de hacer lo que necesito.



More information about the Linuxcantabria mailing list