View previous topic :: View next topic |
Author |
Message |
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Thu Jun 10, 2004 10:39 pm Post subject: [HOWTO PORTATILES] Configurar la reducción de frecuencia |
|
|
Bueno, me he decidido a hacer un mini-howto sobre el cpufreq en Gentoo, que aunque muchos habréis leido la guía oficial de Gentoo sobre el power save, creo que a más de un noob le vendrá bien, comencemos:
Para empezar, necesitamos compilar el kernel con cpufreq:
Code: | Power management options (ACPI, APM) --->
CPU Frequency scaling --->
[*] CPU Frequency scaling
< > /proc/cpufreq interface (deprecated)
Default CPUFreq governor (userspace) --->
<*> 'performance' governor
<*> 'powersave' governor
--- 'userspace' governor for userspace frequency scaling
[ ] /proc/sys/cpu/ interface (2.4. / OLD)
<*> CPU frequency table helpers
--- CPUFreq processor drivers
<*> ACPI Processor P-States driver
[ ] /proc/acpi/processor/../performance interface (deprecated)
[En la lista que sigue elige el driver de tu CPU] | Una advertencia, mi portátil es un Celeron Mobile a 2.50Ghz(no M, cuidado) y el driver que he de usar es el Intel Pentium 4 clock modulation, para los demás usa el Intel Speedstep on ICH-M chipsets (ioport interface) (para Pentium M) o el Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface).
Los governors son los encargados de manejar la velocidad de la CPU y son tres:
- performance: Mantiene siempre la máxima velocidad de la CPU
- powersave: Mantiene siempre al mínimo la velocidad de la CPU
- userspace: Deja el trabajo a una aplicación en espacio de usuario
Bien, pasos habituales de recauchutado (recompilado) del kernel... y listo. Ya podemos comprobar que esto funciona (como root): Code: | $ cd /sys/devices/system/cpu/cpu0/cpufreq
$ echo -n userspace > scaling_governor |
Con esto indicamos que queremos controlar nosotros la frecuencia. Code: | $ echo -n 1000000 > scaling_setspeed |
Y esto pone nuestra cpu a 1 Ghz (la velocidad va indicada en Khz).
Para comprobar que todo va bien, hacemos: Code: | cat /proc/cpuinfo | grep Mhz |
Si la velocidad no cambia, puede ser que tu version del kernel no muestre bien la velocidad, para poder comprobarlo (NOTA: necesitas activar el soporte para cpuid en el kernel para que esta aplicación funcione correctamente): Code: | $ emerge x86info
$ x86info | grep Mhz |
Si el directorio cpufreq no existe en sys, es probable que o no habéis elegido el driver correcto o que vuestro procesador no está soportado.
En este directorio además debe de haber varios ficheros en el directorio:
- cpuinfo_max_freq: Informa de la máxima frecuencia que puede alcanzar el procesador (no, con esto no vas a poder hacer overclocking... sorry)
- cpuinfo_min_freq: Informa de la mínima frecuencia que puede alcanzar el procesador (el mio baja a un mínimo de 300 Mhz!)
- scaling_available_frequencies: Aquí sale una lista de las frecuencias disponibles (no, el cambio no es continuo, debe ser por razones técnicas)
- scaling_available_governors: Lista los posibles governors de que disponemos. (en algunas arquitecturas sólo es posible el userspace)
- scaling_driver: Para saber cual es el driver que está usando actualmente
- scaling_governor: Con este archivo podemos o saber qué governor estamos usando actualmente o activar un governor en particular.
- scaling_max_freq: Este archivo nos informa y nos permite poner un límite al máximo de frecuencia al que queremos que llegue el procesador (Cpufreqd usa este archivo, como veremos más adelante)
- scaling_min_freq: Este archivo nos informa y nos permite poner un límite al mínimo de frecuencia que puede bajar nuestro procesador (cpufreqd también lo usa).
- scaling_setspeed: Este archivo sólo aparece tras activar el governor userspace, y con él podemos seleccionar la velocidad del procesador manualmente o que algún programa (como speedfreq en modo dinámico, ver más abajo) lo controle.
Lo siguiente es usar un daemon que se encargue del manejo de la velocidad, ya que a traves de estos archivos es poco manejable.
Tenemos actualmente 3 daemons:
- cpufreqd: (emerge cpufreqd; rc-update add cpufreqd default)
cpufreqd es un governor que nos permite definir los máximos y los mínimos de velocidad, además del governor, según la carga de CPU, la batería y los programas que esten funcionando en el archivo /etc/cpufreqd.conf y que tiene esta pinta (es legible y sencillo, creo que no necesita mucha explicación) Code: | [General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
pm_type=acpi
# Uncomment the following line to enable ACPI workaround (see cpufreqd.conf(5))
# acpi_workaround=1 verbosity=4
#(if you want a minimal logging set to 5)
# Full performance
[Profile]
name=ac
minfreq=600000
maxfreq=1400000
policy=performance
# Maximum power saving
[Profile]
name=battery
minfreq=600000
maxfreq=900000
policy=powersave
# Constant frequency
[Profile]
name=dvd
minfreq=900000
maxfreq=1100000
policy=powersave
# Full performance when running on AC
[Rule]
name=ac_on
ac=on
profile=ac
# Compiling should be fast if battery state is ok
[Rule]
name=compiling
ac=off
battery_interval=30-100
programs=emerge,make,gcc,cpp
cpu_interval=0-100
profile=ac
# watching DVD's gets sluggish with slow CPU frequency
# Can also be used for games etc.
[Rule]
name=dvd_watching
ac=off
battery_interval=15-100
programs=xine,mplayer,avidemux,kaffeine,kmplayer
cpu_interval=0-100
profile=dvd
# If above doesn't apply, maximise power saving
[Rule]
name=battery_on
ac=off
battery_interval=0-100
cpu_interval=0-100
profile=battery |
- cpudyn: (emerge cpudyn; rc-update add cpudyn default)
Este governor está programado por un español y su función consiste en cambiar entre powersave y performance según la carga y respondiendo rápidamente a los eventos interactivos (ratón, teclado) para que se note mínimamente su efecto. Además también se encarga de apagar tus discos duros. Su fichero de configuración lo encontraréis en: /etc/conf.d/cpudyn
- speedfreq: (emerge speedfreq; rc-update add speedfreq default)
Este governor tiene varios modos de funcionamiento:
- auto: se autoconfigura según el estado de la batería (ACPI)
- fixed: pone la velocidad del procesador a un velocidad determinada
- powersave: activa el governor powersave
- performance: activa el governor performance
- dynamic: va aumentando y disminuyendo dinámicamente la frecuencia según la carga y el uso.
Este governor se configura en /etc/conf.d/speedfreq y podemos poner el modo por defecto:
Code: | # Select here how you want your CPU to be controlled
# If you select auto you should use the battery.sh script
# provided with this ebuild to control speed depending on A/C status
# acceptable values:
# powersave maximise power savings
# performance maximise performance
# dynamic adjust speed according to CPU load (default)
# NNN set CPU to a fixed speed of NNN MHz
# auto let the init script detect current battery status
SPEEDFREQ_SPEED="dynamic"
# For more options refer to `speedfreqd -h`
SPEEDFREQ_OPTS="" |
y además tiene un cliente de nombre speedfreq que nos permitirá controlar al daemon.
Bueno, por el momento esto es todo, acepto críticas, sugerencias, adiciones, etc... Espero que os sea útil.[/code] _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason.
Last edited by ResetReboot on Sat Jun 12, 2004 9:29 pm; edited 2 times in total |
|
Back to top |
|
|
Gentoosiastix Guru
Joined: 10 Oct 2003 Posts: 510 Location: Palencia-España
|
Posted: Fri Jun 11, 2004 6:02 am Post subject: |
|
|
Pues muchas gracias, te lo has currado. Hoy mismo intentare ponerlo en marcha. _________________ Siempre seremos novatos en algo |
|
Back to top |
|
|
psm1984 l33t
Joined: 14 Oct 2003 Posts: 919
|
Posted: Fri Jun 11, 2004 9:07 am Post subject: |
|
|
En /sys/devices/system/cpu/cpu0/ hay otros archivos que marcan la velocidad minima y maxima. Tambien en los mensajes del kernel suele aparecer una serie de estados (P0,P1...) que indican los modos posibles. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Sat Jun 12, 2004 9:14 pm Post subject: |
|
|
Ah!, Gracias! se me había olvidado lo de explicar esos archivos (es culpa de tener que explicar cosas a windowzers en los que hay que obviar detalles, lo siento!). Ahora mismo lo pongo.
Ah, y me alegro de que te haya sido de utilidad, Gentoosiastix. _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
ingcgg00 n00b
Joined: 13 Jun 2004 Posts: 50
|
Posted: Wed Jun 23, 2004 5:13 pm Post subject: |
|
|
He seguido los pasos de tu manual pero tengo un pequeño problema. No tengo permiso para acceder a set_speed y este no existe en mi directorio sys/cpufreq.
Mi cpu es un P42.8 HT, ni Mobile ni M.
A ver si alguien sabe k hacer. |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Wed Jun 23, 2004 5:34 pm Post subject: |
|
|
ingcgg00 wrote: | He seguido los pasos de tu manual pero tengo un pequeño problema. No tengo permiso para acceder a set_speed y este no existe en mi directorio sys/cpufreq.
Mi cpu es un P42.8 HT, ni Mobile ni M.
A ver si alguien sabe k hacer. |
Cada CPU necesita un CP frequency table helper.
Revisa que tengas activado:
Code: |
[*] CPU Frequency scaling <*> CPU frequency table helpers (NEW)
--- CPUFreq processor drivers
<*> Intel Pentium 4 clock modulation (NEW)
|
PD: Nunca he activado el cpufreq en una Intel P4 pero me imagino que si tienes un P4 HT debe ser asi ya que la ayuda del kernel dice:
Code: |
CONFIG_X86_P4_CLOCKMOD:
This adds the CPUFreq driver for Intel Pentium 4 / XEON processors.
For details, take a look at linux/Documentation/cpu-freq.
If in doubt, say N.
|
_________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ingcgg00 n00b
Joined: 13 Jun 2004 Posts: 50
|
Posted: Wed Jun 23, 2004 5:43 pm Post subject: |
|
|
ambos estan activados, pero encuentro dos diferencias respecto a las del ejemplo:
--- 'performance' governor
como ves no lo puedo activar y me aparece una nueva opcion que no tengo activada:
'userspace' governor for userspace frequency scaling
Tengo k activar esta ultima?? |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Wed Jun 23, 2004 7:56 pm Post subject: |
|
|
ingcgg00 wrote: | ambos estan activados, pero encuentro dos diferencias respecto a las del ejemplo:
--- 'performance' governor
como ves no lo puedo activar y me aparece una nueva opcion que no tengo activada:
'userspace' governor for userspace frequency scaling
Tengo k activar esta ultima?? |
No puedes activar performance porque ya está seleccionado por defecto.
Code: |
Default CPUFreq governor (userspace) --->
<*> 'performance' governor
<*> 'powersave' governor
--- 'userspace' governor for userspace frequency scaling
|
En el ejemplo se ha seleccionado por defecto userspace. Haz lo mismo y verás como puedes seleccionar performance.
Las flechitas son menus donde activar o elegir más cosas... _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Thu Jun 24, 2004 11:59 am Post subject: |
|
|
ingcgg0... para empezar, hay que tener activados los tres tipos de governors... luego, como bien se puede leer,para que aparezca scaling_setspeed es /sys tenemos que hacer "echo -n userspace > scaling_governor", que es para decirle al kernel que nos encargaremos nosotros o algun programa de la frecuencia, sólo entonces aparece scaling_setspeed. _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
ingcgg00 n00b
Joined: 13 Jun 2004 Posts: 50
|
Posted: Thu Jun 24, 2004 5:15 pm Post subject: |
|
|
ya hice todo y le intento bajar la frecuencia y ni se inmuta??
Igual no vale para procesadores no mobile ni m. |
|
Back to top |
|
|
Patatasfritas n00b
Joined: 10 Jul 2003 Posts: 51
|
Posted: Sat Jun 26, 2004 11:59 am Post subject: |
|
|
se puede hacer para un sobermesa. tengo un 3200 amd en euna asus a7n8x deluxe, el problema es q vivo en murcia y ahora estamos a a40 grados ambiente vivo en un ultimo piso y el terrado hace efecto compresa entra calor pero no sale nada. los grados se me disparan muchisimo y kiero evitarlo. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Mon Jun 28, 2004 2:39 pm Post subject: |
|
|
ingcgg0: Quizá no tengas el driver adecuado. Para tu tipo de procesador necesitas el P4/Xeon Clock Modulation.
Patatasfritas: Busca un programa llamado Athcool o mira este enlace _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Mon Jun 28, 2004 4:50 pm Post subject: |
|
|
ResetReboot wrote: | ingcgg0: Quizá no tengas el driver adecuado. Para tu tipo de procesador necesitas el P4/Xeon Clock Modulation.
Patatasfritas: Busca un programa llamado Athcool o mira este enlace |
ResetReboot, La CPU no es Athlon de que le iba a servir el Athcool que lo unico que habilita es la instrucción HLT de aquellos chips de Athlon principalmente thunderbird que no la llevan habilitada por defecto. Vease:
ingcgg00 wrote: | Mi cpu es un P42.8 HT, ni Mobile ni M.
A ver si alguien sabe k hacer. |
_________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
psm1984 l33t
Joined: 14 Oct 2003 Posts: 919
|
Posted: Mon Jun 28, 2004 6:15 pm Post subject: |
|
|
RAPUL wrote: | ResetReboot wrote: | ingcgg0: Quizá no tengas el driver adecuado. Para tu tipo de procesador necesitas el P4/Xeon Clock Modulation.
Patatasfritas: Busca un programa llamado Athcool o mira este enlace |
ResetReboot, La CPU no es Athlon de que le iba a servir el Athcool que lo unico que habilita es la instrucción HLT de aquellos chips de Athlon principalmente thunderbird que no la llevan habilitada por defecto. Vease:
ingcgg00 wrote: | Mi cpu es un P42.8 HT, ni Mobile ni M.
A ver si alguien sabe k hacer. |
|
Lo del athcool se lo dice a Patatasfritas , ¿no? |
|
Back to top |
|
|
RAPUL l33t
Joined: 29 Dec 2002 Posts: 664 Location: Valencia (SPAIN)
|
Posted: Mon Jun 28, 2004 7:58 pm Post subject: Oops! |
|
|
Oops!
ResetReboot, Mil disculpas! _________________ Entropy rulz world.
Redundancy sux.
World is full of redundancy.
World sux. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Wed Jun 30, 2004 10:44 pm Post subject: |
|
|
Sin problema, Rapul quedas disculpado
Una mala tarde la tiene cualquiera _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
cnyx l33t
Joined: 17 Jul 2003 Posts: 883 Location: Valencia
|
Posted: Mon Jul 05, 2004 8:33 pm Post subject: |
|
|
buenas. Una cosilla yo lo tenia configurado con el governor userspace, de manera que estando sin hacer nada rulaba a unos 300 mhz o menos. No se que ha pasado, pero hoy he reinciado y en seguida se ha puesto el ventilador en marcha. He mirado la frecuencia y estaba a 1698.55 mhz es decir lo maximo. Como me ha extrañado he mirado a ver si habia algo por ahi consumiendo cpu, pero el consumo de cpu era el de siempre entre 2 y 3% en reposo. He mirado a ver si es que la ultima vez lo habia puesto en performance o algo asi, pero no, seguia con el governor userspace. La verdad es que no tengo ni idea de por que puede estar pasando esto ni que lo ha provocado.
Lo ultimo que hice antes de que pasara esto fue instalar looking glass, el escritorio 3d de sun. pero no creo que esto tenga nada que ver.
En cuanto al kernel ni lo he tocado, es el mismo que tenia antes.
Alguien sabe a que se puede deber esto? y comom remediarlo?
gracias, saludos. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Wed Jul 07, 2004 1:36 pm Post subject: |
|
|
Que procesador llevas? Un Centrino?.
Por otro lado, userspace lo deja en una velocidad fija, con lo que necesitas un programa como speedfreq o alguno de los que comento arriba para que la frecuencia vaya variando.
También tengo entendido que los Centrino se ajustan por "hardware" ellos solos cuando no hay driver controlando la frecuencia....
Prueba ambas cosas. _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
cnyx l33t
Joined: 17 Jul 2003 Posts: 883 Location: Valencia
|
Posted: Wed Jul 07, 2004 7:42 pm Post subject: |
|
|
Si es un centrino. Yo tengo userspace ahora mismo, y esto tira a 1700Mhz o sea lo maximo. La cuestion es que antes lo tenia igual y la frecuencia en reposo era de 200 y pico o 300 Mhz. En cuanto le pedia algo la frecuencia se adaptaba automaticamente como tu dices por hardware. El problema es que sin haber tocado nada ahora parece que algo fuerce a la frecuencia a estar al máximo, como si usara la politica performance. Yo no necesitaba usar speedfreq, la frecencia se adaptaba sola. No se qué ha cambiado pero ya no lo hace.
¿Alguna idea?
Saludos. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Fri Jul 09, 2004 7:38 pm Post subject: |
|
|
Entonces mi recomendación:
Creo que mejor quitar del kernel todo driver relacionado con la frecuencia de la CPU y dejar que sea el HW el que se ajuste. _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
cnyx l33t
Joined: 17 Jul 2003 Posts: 883 Location: Valencia
|
Posted: Fri Jul 09, 2004 11:28 pm Post subject: |
|
|
no se probare cosillas a ver si recupero la forma en que lo tenia antes que era genial y si no como tu dices quitare todo.
saludos. |
|
Back to top |
|
|
cnyx l33t
Joined: 17 Jul 2003 Posts: 883 Location: Valencia
|
Posted: Tue Jul 13, 2004 12:02 am Post subject: |
|
|
pues parece que el hardware no adapta dinamicamente la frecuencia. Si esto fuera asi deberia ver una frecuencia dinamica en FreeBSD donde no he configurado nada de esto, pero sin embargo siempre essta a 1700 que es el maximo.
Antes cuando lo ponia en userspace la adaptaba dinamicamente a las necesidades. Si lo ponia en performance iba a 1700 todo el tiempo que es el maximo y si lo ponia en powersave tambien la adaptaba dinamicamente pero sin pasar de 600 mhz.
Algo ha debido pasar cuando estando en userspace ya no la adapta dinamicamente sino que esta a top y en powersave esta a 600mhz todo el tiempo sin adaptacion dinamica tampoco.
Alguna idea??? estoy realmente intrigado.
saludos.
PD:: si no consigo averiguar nada me instalare el windows que me acuerdo que en el panel de control te ponia la frecuencia a la que estaba rulando el micro. Asi si veo algo extraño en win ya sabre que es problema de hard. |
|
Back to top |
|
|
ResetReboot Apprentice
Joined: 12 May 2004 Posts: 153 Location: Málaga
|
Posted: Wed Jul 21, 2004 12:46 pm Post subject: |
|
|
Mi recomendacion entonces es que dejes puesto el userspace y te instales el speedfreq, que adapta la frecuencia automaticamente segun la carga del sistema y hará las veces del sistema HW. Es más, yo en mi portatil uso speedfreq (Celeron 4 mobile, no centrino). _________________ Jabber ID: jcreset@myjabber.net
Webs: http://resetreboot.blogspot.com
http://www.labibliotecaonline.tk
The OS community is called the largest functioning anarchy is the world, with good reason. |
|
Back to top |
|
|
OSMigrator Tux's lil' helper
Joined: 06 Jul 2004 Posts: 107
|
Posted: Wed Jul 21, 2004 9:47 pm Post subject: |
|
|
Quote: | - cpudyn: (emerge cpudyn; rc-update add cpudyn default)
Este governor está programado por un español y su función consiste en cambiar entre powersave y performance según la carga y respondiendo rápidamente a los eventos interactivos (ratón, teclado) para que se note mínimamente su efecto. Además también se encarga de apagar tus discos duros. Su fichero de configuración lo encontraréis en: /etc/conf.d/cpudyn |
Creo recordar que fue creado por Ricardo Galli y que hay una serie de artículos sobre cpudyn y evitar que el disco duro del portátil se nos ponga a mil en www.bulma.net. Yo lo usé en Debian y funcionaba de miedo; además su configuración era muy sencilla. Si quereia más informacion pues pasaros por esa página. _________________ No soy de los que ponen signature. |
|
Back to top |
|
|
cnyx l33t
Joined: 17 Jul 2003 Posts: 883 Location: Valencia
|
Posted: Thu Jul 22, 2004 8:19 am Post subject: |
|
|
Bueno el otro dia instale windows y resulta que no se que hace durante el proceso de instalacion, pero al reiniciar y entrar en gentoo ya me iba la adaptacion dinamica de la frecuencia del procesador. Luego reincie y me meti en FreeBSD, al volver a gentoo ya no iba la adaptacion dinamica. Luego el culpable es FreeBSD.
Mi pregunta es que leches hace para cambiar la configuracion del hardware?
Alguna idea o solucion?
saludos |
|
Back to top |
|
|
|