domingo, junio 14, 2009

Frequency Scaling

Hola amigos, hace poco que tengo mi portatil y hasta ahora no me había preocupado excesivamente la temperatura que alcanzaba el microprocesador pero con la llegada del verano empieza a alcanzar temperaturas de hasta 80 y pocos grados, no soy un experto en la materia pero me parece excesivo, se trata de un Core 2 Duo P8400 a 2600 GHz.

Finalmente he optado por habilitar en el kernel las opciones de escalado de frecuencia:
Power Managament and ACPI options --> CPU Frequency Scaling
Default CPUFreq Governor --> Esta será la opción por defecto que usará si no le indicamos lo contrario, yo voy a dejarlo en userspace para poder ajustar ls frecuencia de reloj a mi antojo.

Compilamos las siguientes opciones como módulos:
performance governor
powersave governor
ondemand cpufreq policy governor

Esta otra opción nos forzará a compilarla dentro del kernel:
userspace governor for userspace frequency scaling

ACPI Processor P-State Driver--> Esta opción es para los Core 2 Duo, si disponemos de otro microprocesador habrá que "Googlear" para saber cual es la opción correcta.

Una vez habilitadas las opciones necesarias compilamos y reiniciamos:
make && make modules_install && cp arch/x86_64/boot/bzImage /boot/kernel-"version" && reboot

Ahora hay que cargar el módulo ACPI Processor P-State Driver:
modprobe acpi_cpufreq

Con esto ya podemos agregar el applet de Gnome: "Monitor de frecuencia de la CPU"

Ejecutamos como root el comando: dpkg-reconfigure gnome-applets

Y respondemos que sí para ejecutar el applet con el bit SUID habilitado, de este modo nuestro usuario del día a día será capaz de ajustar la frecuencia de reloj de las CPUs.

Clickando sobre el applet ya podremos cambiar la frecuencia con un simple click ;)

Esto es todo, así de sencillo, si queremos probar más modos tenemos los siguientes modulos:
  • cpufreq_powersave --> Ahorro de energía
  • cpufreq_ondemand --> Si las aplicaciones exigen potencia de calculo la frecuecnia es elevada a su máximo, y si la demanda cesa va bajando paulatinamente.
  • cpufreq_userspace --> La frecuencia max y minima es habilitada por programas.
  • cpufreq_conservative --> Es igual que el modo ondemand pero cuando sube la frecuencia lo hace progresivamente.

Finalmente hacemos que este proceso se realice de forma automática en el arranque:
vi /etc/modules
acpi_cpufreq

No hay comentarios: