Esto hacía casi imposible instalar cualquier distro de linux ya que desde los live cd hacían poner el procesador al máximo y tenía que poner un ventilador en la entrada de ventilación de la laptop, esto lo hice varias veces por mi manía de instalar cual distro se me pusiera en frente sólo hasta entrar a la sección pero únicamente gnome 2 podía límitar la frecuencia del procesador (en modo userspace) con el applet que estaba incluido pero se quedaba todo el tiempo en la frecuencia que le pusiera y no se encontraba en ondemand y eso hacía que siempre estuviera a la frecuancia que le deje yo y no la que el procesador necesitara.
Fue cuando busque como limitar la frecuencia máxima a la que puede trabajar el procesador, para que el procesador se manejara en ondemand sin llegar al 100% del procesador para que no se sobrecalentara.
Primero debemos saber cuantos procesadores tenemos en una terminal escribir:
ls /sys/devices/system/cpu/ | grep cpu[0-9]
En mi caso la salida fue
cpu0 cpu1
Significa que tengo 2 procesadores
Luego para cada procesador que se tenga
more /sys/devices/system/cpu/cpu[0-9]/cpufreq/scaling_available_frequencies
En mi caso las salidas fueron
:::::::::::::: /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies :::::::::::::: 2100000 1050000 525000 --Más--(Siguiente fichero: /sys/devices/system/cpu/cpu1/cpufreq/scaling_availabl:::::::::::::: /sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies :::::::::::::: 2100000 1050000 525000
Para ambos procesadores, como les comente si tengo los procesadores a 2100000 hertz se sobrecalienta después de un tiempo así que quiero límitar la frecuencia máxima, como los archivos del directorio /sys/devices/system/cpu/cpux/cpufreq/ son del administrador es necesario hacer los cambios que deseamos como administrador
La velocidad máxima se edita en el fichero
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
Y como quiero cambiarlo en cada inicio me conviene ponerlo en el /etc/rc.local entonces edito ese archivo como administrador
Gnome
gksu gedit /etc/rc.local
KDE
kdesu kate /etc/rc.local
Terminal (cambiar nano por su editor favorito o usar su antes de escribir el comando)
sudo nano /etc/rc.local
Añadir entre las lineas
#!/bin/sh -e echo 1050000 > '/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq' echo 1050000 > '/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq' exit 0
Y así la velocidad máxima del procesador será de 1050000.
Espero le sea útil a alguien.
31 comentarios, deja el tuyo
Que buen tip, de hecho tengo a PC de Escritorio con Solus que no podía hacer nada que se me apagaba voy a probar gracias por el artículo.
Oye, algunas vez revisaste o actualizaste el BIOS del equipo?? Es acaso un modelo HP?? te pregunto, porque lo más probable es que sea un problema de BIOS y de la configuración del Intel SpeedStep o del AMD cool & Quiet, he solucionado un montón de veces el tema del sobrecalentamiento actualizando la BIOS (soy ensamblador de equipos), lo otro, es cambiar la pasta térmica que trae de fábrica (generalmente son muy malas), por una con compuestos de plata, cuestan USD$10 y generalmente son mucho mejores que las que usan al ensamblar. Lo otro, revisa la tierra o el polvo, las pelusas dentro de tu equipo y por último, puedes comprar una base (que sea de aluminio, las plásticas tienen tener el efecto contrario por el cual fueron adquiridas), y con eso ventilar la parte inferior del equipo.
Eso, espero te ayude,
Saludos.
Es una Toshiba Satellite A305D-SP6905R http://pcxion.com/shop/printinfo.php?products_id=1080
Desde nueva tenía el problema, cuando tenga dinero la llevo a mantenimiento y el BIOS lo tuve que actualizar ya que no podía instalar windows 7 en su tiempo así tuve que actualizar a la fuerza y supongo fue la última actualización del BIOS que se tuvo instalar.
Que raro que te pase, he tenido 2 toshiba y nunca me presentaron problemas de temperatura. No así los HP, tuve un HP Compaq tipo tablet de 13.3″ y me salió horriblemente malo. Y he reparado decenas de HP con el mismo problema, pero ha sido más que nada un problema de diseño, y los con gráficas Nvidia, el típico problema de soldadura, así que me ha tocado aplicar reballing.
Saludos.
Gracias por la información, de momento mi laptop Samsung RV408 con 6GB RAM y LM14 KDE RC x64 funciona sin problemas, sin embargo por precaución y de tiempo atrás uso una base con 3 motoventiladores tanto para esta como para la netbook Acer AOD255E con 2 GB RAM y LM14 KDE RC x32 y mantienen muy refrigeradas, solo la netbook se nota que se calienta un poco cuando tengo muchos programas y ventanas abiertas, de resto nunca se me han apagado o dado alarmas por sobrecalentamiento.
Sería bueno ir conociendo que marcas y modelos dan esos problemas y como los han solucionado, para así tener referencias.
La mía a veces se calienta, la frecuencia de mis 2 procesadores
alf@Alf:~$ more /sys/devices/system/cpu/cpu[0-9]/cpufreq/scaling_available_frequencies
::::::::::::::
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
::::::::::::::
1900000 1800000 1600000 1400000 1200000 1000000 800000
::::::::::::::
/sys/devices/system/cpu/cpu1/cpufreq/scaling_available_frequencies
::::::::::::::
1900000 1800000 1600000 1400000 1200000 1000000 800000
alf@Alf:~$
¿Que frecuencia me sugieres dejar como máxima?
1600000
La verdad no sé muy bien, pero si 1.9Ghz es lo máximo 1.6 es una buena frecuencia.
Buen tip. Nunca he tenido problemas de calentmiento, pero lo tendré en cuenta por si acaso.
En la practica esto debe mermar bastante la velocidad con la que abren las aplicaciones y otros eventos en que el procesador tiene picos de carga de trabajo (especialmente en los equipos con un solo núcleo)
Estoy en lo cierto?
Es correcto, pero depende, si solo usas el equipo para ver internet, música y videos, no notarás la diferencia, ahora bien, si eres un compilador de código compulsivo, notarás la diferencia.
Saludos.
Yo también tengo este problema en un viejo Acer Aspire 5315 que deseo solucionar de una vez por todas; pero la ruta de mi árbol de directorios difiere de la que indicas, hasta cpu0 coincide pero a partir de ahí no encuentro la carpeta cpufreq sino estas otras cache, cpuidle, power, subsystem, thermal-throttle, topology y los ficheros crash-notes y uevent y en ninguna de las carpetas veo el fichero scaling_max_freq.
cpu freq scaling solo esta disponible para micros posteriores a core2duo, no pentium D, 4, celeron o mononucleos. es debido a que hasta los prescott se trabajaba al maximo, desperdiciando energia y calor, yo tenia uno que siempre andaba a 40 o mas siempre, eso si en invierno no tenia los pies frios 😛 saludos
Jejeje 🙂 no te imaginas la idea que me has dado…!!!
Para Gnome o Unity está el indicator-cpufreq , que te permite cambiar la velocidad del procesador y la configuración de energía desde el panel superior.
Hola, @Christopher Castro, enhorabuena por el artículo, conciso y útil, solo una pequeña corrección, no llames procesador a los núcleos de la CPU/UCP (el procesador), ya que la gente se podría confundir.
Lo que me extraña es que teniendo dos núcleos de procesador, tengas problemas de calentamiento, quizás debería abrirlo, y limpiarlo, o si no es por suciedad o polvo, deberías llevarlo al servicio técnico.
Un saludo a todos.
Realmente no tiene sentido limitar la velocidad del procesador si está activado el governante ONDEMAND *a menos que sepas de antemano que las tareas que vas a realizar no van a ser uso intesivo del CPU como por ejemplo navegar páginas web pesadas*.
Hay que tener en cuenta que cuanto menos que escalemos el procesador más tiempo va a necesitar para renderizar las páginas y más energía van a consumir, por otra parte el governante ONDEMAND automáticamente setea las frecuencias al nivel más bajo cuando la máquina está inactiva.
Lo ideal es usar ONDEMAND y tweakear correctamente el gobernante de forma que se active y desactive lo más rápido posible dependiendo la carga del sistema, por ejemplo:
w /sys/devices/system/cpu/cpu[0-3]/cpufreq/scaling_governor – – – – ondemand
w /sys/devices/system/cpu/cpufreq/ondemand/up_threshold – – – – 85
w /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor – – – – 20
(nomenclatura en formato systemd)
Igual de importante que los gobernantes es apagar la placa gráfica dedicada si no la estamos usando (en caso que nuestra máquina tenga un sistema de video híbrido) lo mismo que el resto de dispositivos que use el sistema y, por sobretodo, usar POWERTOP 2 para poner en modo de baja energía aquellos dispositivos que están seteados para que funcionen al máximo rendimiento.
j:0 ~ $ cat /etc/tmpfiles.d/optimized.conf
w /sys/kernel/debug/vgaswitcheroo/switch – – – – OFF
#w /sys/class/drm/card0/device/power_profile – – – – low
w /sys/class/drm/card0/device/power_method – – – – dynpm
w /sys/devices/system/cpu/cpu[0-3]/cpufreq/scaling_governor – – – – ondemand
w /sys/devices/system/cpu/cpufreq/ondemand/up_threshold – – – – 85
w /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor – – – – 20
#w /sys/module/snd_hda_intel/parameters/power_save – – – – 1
w /sys/kernel/mm/transparent_hugepage/enabled – – – – madvise
w /sys/kernel/mm/transparent_hugepage/defrag – – – – madvise
w /sys/kernel/mm/transparent_hugepage/khugepaged/defrag – – – – 0
w /proc/sys/kernel/watchdog – – – – 0
w /sys/class/scsi_host/host[0-5]/link_power_management_policy – – – – min_power
w /sys/bus/pci/devices/*/power/control – – – – auto
w /proc/sys/vm/dirty_writeback_centisecs – – – – 1500
j:0 ~ $ cat /etc/rc.local
#!/bin/bash
#
# /etc/rc.local: Local multi-user startup script.
#
modprobe radeon
echo OFF > /sys/kernel/debug/vgaswitcheroo/switch
rmmod radeon
(cuidado con el rmmod ya que si deseamos activar la placa de video especializada y tratamos de cargar nuevamente el módulo estando ésta apagada el sistema nos va a regalar un precioso kernel panic).
si tu hubiese entendido algo,lo probaba.es q soy nuevo en esto y necesito ver las cosas paso a paso,con peras y manzanas.encontre interesante tu respuesta.
Que buen tipo, lo probare ya que he tenido algunos problemas con el equipo. Gracias
Buenas, podrian decirme cual es la temperatura normal para un procesador de doble nucleo de 2ghz, Gracias y saludos
Buenas,
este es un tema bastante importante al cuál, después de un tiempo de estar usando linux me puse a investigar para reducir la temperatura de la cpu así como su consumo energético.
Este tema me llevó varias horas de investigación y pruebas y les voy a comentar una manera sencilla de configurar nuestra cpu en debian para que trabaje bajo demanda, es decir, la cpu ajusta automáticamente su frecuencia según la carga de trabajo que recibe el procesador aumentándola cuando es necesario para no perder rendimiento y trabajando a la frecuencia más baja cuando es necesario, reduciendo así el consumo de energía de nuestro procesador y por consiguiente la temperatura. Aunque esto lo hice en debian debería funcionar con cualquier distro.
Instalar los paquetes cpufreqd y cpufrequtils. (creo que después de esto era necesario un reinicio).
Elegir y cargar el modulo para el procesador, para procesadores intel modernos lo hacemos con modprobe acpi-cpufreq (nota en debian se carga solo, lo podemos comprobar con lsmod, supongo que será igual para el resto).
Comprobar el funcionamiento.
Primero vamos a comprobar que se ha cargado nuestro driver para el procesador, para ello solo tenemos que hacer un cat al archivo correcto:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
La salida que deberías observar es algo así como…
acpi-cpufreq
Ahora si la prueba anterior ha tenido éxito podemos comprobar cuales son las frecuencias disponibles para nuestro procesador de nuevo con el comando cat:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
La salida que deberías observar es algo así como…
1600000 800000
También podemos mostrar los gobernadores disponibles:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
La salida que deberías observar es algo así como…
powersave userspace conservative ondemand performance
Y cual es el gobernador usado en este momento:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Dándonos como resultado algo así:
Performance
Nota: debian carga por defecto ondemand.
Este último comando nos indica el gobernador que está funcionando actualmente, el más recomendado es ondemand que es el que ajusta la velocidad del procesador según la demanda.
Otra utilidad más directa para conocer la info de nuestra cpu:
cpufreq-info (ejecutamos este comando para ver la info de nuestra cpu):
pufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which need to switch frequency at the same time: 0
hardware limits: 800 MHz – 1.73 GHz
available frequency steps: 1.73 GHz, 1.33 GHz, 1.07 GHz, 800 MHz
available cpufreq governors: conservative, ondemand, powersave, userspace, performance
current policy: frequency should be within 800 MHz and 1.73 GHz.
The governor «ondemand» may decide which speed to use
within this range.
current CPU frequency is 800 MHz.
Son importantes las líneas hardware limits: 800 MHz – 1.73 GHz y available frequency steps: 1.73 GHz, 1.33 GHz, 1.07 GHz, 800 MHz que marcan las posibilidades del procesador que tengamos.
Como podéis observar también nos indican el gobernador que estamos usando y la frecuencia a la que trabajando actualmente nuestra cpu.
Para cambiar el gobernador para todos los procesadores (necesario en el caso de dobles y cuatro núcleos ) :
cpufreq-set -r -g ondemand
El siguiente comando también muestra la velocidad del procesador, si el ahorro funciona bien deberia dar valores menores a la max del procesador:
$cat /proc/cpuinfo | grep -i mhz
o
$ watch grep \»cpu MHz\» /proc/cpuinfo
Saludos, con esto pueden tener funcionando de manera más eficiente vuestro procesador sin desperdiciar recursos.
Nunca cambie el gobernador de mi cpu, solo límite la velocidad máxima.
Aún uso en ondemand :D.
Amigo, muchas gracias, es precisamente lo que andava buscando.
Me funciono de maravilla en mi Athlon II x2 250 a 3GHz.
Siempre que abria un vìdeo 1080p en linux, mi CPU usaba el 100%, ahora, usa
un promedio de 40 a 50%.
Tenia miedo de que la frequencia quedase fija en 1.8 GHz (que fue donde
lo ajustè), pero «OnDemand» sigue activo, cuando la computadora està inactiva
el CPU baja hasta los 800 MHz. Fabuloso! 🙂
Lo he probado en elementary Os y Ubuntu y ha funcionado, pero lo he intentado en fedora 17 y no ha servido, no me deja guardar los cambios a la hora de cambiar la cantidad de max_freq. Alguien sabe de alguna manera para lograrlo? Muy buen articulo por cierto
En realidad lo que sucede es que en fedora 17 el archivo rc.local no existe y se debe crear en la carpeta /etc/rc.d/ quedando la ruta /etc/rc.d/rc.local
con la arctic silver 5 hice la prueba y la temperatura del cpu bajo 10° !!!!
O.o se oye interesante. Tengo que comprar una jeringa con eso, en verdad me llama la atención.
Gracias por la información, de que manera puedo administrar la velocidad de mi CPU cuando yo quiera sin tener que usar la terminal, no me sirve que lo haga cada reinicio, solo cuando dejo la maquina encendida realizando un trabajo que no toma mas de de un 10%, algún script para bajarle y para que vuelva normal
Gracias
Muchas gracias por tu consejo me ha ayudado mucho para limitar la frecuencia de mis 4 cpu’s i3-2330m; pues me preocupaba el daño que puede causar trabajar a toda la velocidad de proceso.
Muchas gracias por este valioso aporte, me ayudaste a tener instalado linux en mi macbook pro. En verdad muchas gracias
Genial solución …. para alargar la vida útil de equipos de tecnologías antiguas, que ya su desempeño se ve estresado por las exigencias del software actual. Muchas gracias por el aporte !!
Hola amigos gracias por vuestros aporte espero me funcione en mi OpenSuse Tumbleweed ♣
Saludos