Silenciando un Athlon (gratis)
David Zubillaga - Abril 2004
Aviso
En este pequeño artículo no trato de escribir una guía sobre cómo
silenciar de forma mágica un PC de forma gratuita. Es sólo la historia
de una chapuza que parece funcionar aceptablemente en mi
ordenador.
Si bien la idea puede ser aplicable a otros procesadores, en
principio el artículo sólo se refiere a un Athlon en el que están
habilitadas ciertas características de ahorro de energía. Más detalles
un poco después.
Te aconsejo no seguir mis pasos en tu PC. Es peligroso y probablemente
explote.
Descripción de la situación
Mi PC tiene como CPU un Athlon-XP 1700+, y como buen Athlon genera
bastante calor, consumiendo hasta 65W de potencia. Para impedir que
llegue a los 90°C descritos en la
documentación de AMD como el máximo que el chip puede aguantar, tiene
montado el correspondiente ventilador que, por cierto, funciona entre
5800 y 6300 revoluciones por minuto.
La caja no es especialmente buena, el ventilador tampoco y, por tanto,
hace un ruido infernal, como seguramente imaginarás. Puede que si no
eres afortunado estés sufriendo un ruido similar ahora mismo.
La solución (¿?)
La idea es muy simple. El ventilador de la CPU está conectado a una
toma de +12V. Si lo alimentamos con +5V obtendremos una reducción en rpm
proporcional a la del voltaje.
Esto representa sólo un 41% del voltaje original con lo que teóricamente
el ventilador pasaría de girar de 6000 a 2500rpm. Todo hace pensar que dada
la cantidad de calor generada por el procesador, no será suficiente y el
procesador se sobrecalentará.
Existe también la posibilidad de alimentarlo con 7V, conectando el
terminal de masa a +5V, dejando el de +12V en su sitio, pero eso introducía
alguna complejidad extra y la reducción de ruido es menor...
Evaluación del "riesgo vs beneficio"
Aunque el ruido del ventilador a 6000rpm es muy molesto, prefiero
aguantarlo a ver como mi procesador se
convierte en humo.
Varias razones me animaron a llevar a cabo la chapuza.
Gracias a cierta característica de los Athlon que
luego comentaré, mi procesador corría la mayor parte del tiempo a
una temperatura en torno a 30°C, a veces menos, a veces un poco más,
según la temperatura ambiente, como es lógico.
Por otro lado la reducción del nivel de ruido que noté en la
primera prueba fue bastante significativa.
Tenía claro que la temperatura iba a aumentar. Pero quedaba por
determinar cuanto. Si el aumento no fuera muy significativo, tal vez
podría merecer la pena.
Stop Grant Mode
No es ninguna novedad y muchos de los usuarios de procesadores
Athlon ya lo conocen, pero veo útil mencionarlo porque gracias a ese
modo de funcionamiento de los procesadores "modernos" de AMD, la CPU
puede desconectarse del FSB y poner ciertas zonas en modo de "bajo
consumo".
Si no fuera por este modo de funcionamiento no podría obtener las
temperaturas medias de entre 25 y 35°C y no me hubiera planteado el
bajar las revoluciones del ventilador.
Todos los detalles, y enlaces a aún más detalles están el
Athlon Powersaving HOWTO. Hay una versión en castellano, pero en el
momento de escribir esto, no está actualizada.
Y por si hubiera otros sistemas instalados en la máquina,
este es un HOWTO pensado para sistemas Linux, aunque imagino que en los
*BSD pueda usarse algún comando equivalente. También hay utilidades que
permiten activar este modo de bajo consumo en otros sistemas operativos
propietarios populares.
Sirva como prueba de la eficiencia de este modo el siguiente gráfico.
Durante el primer minuto puede verse una pequeña subida de la temperatura
hasta que el sistema de arranque llega a la línea donde se activa el modo
de bajo consumo. A partir de ahí baja ligeramente buscando estabilizarse
en torno a los 26°C. A las 14:02 se desactiva manualmente el modo de bajo
consumo y la temperatura crece hasta cerca de 40°C en 15 minutos. Al volver
a activar de nuevo el modo de bajo consumo, la temperatura vuelve otra vez al
entorno de los 26°C.
Durante esta prueba la carga del sistema era 0 y el ventilador estaba
funcionando a 12V. Con el ventilador a 5V la temperatura máxima en inactividad
con el modo de ahorro desactivado llega hasta los 45-47°C aproximadamente.
Hay que destacar que en mi caso, el tener activado este modo no supone
una reducción del rendimiento del procesador o, en todo caso, esa reducción
es anecdótica. Hay algunos casos sin embargo en los que sí hay problemas.
Más información en el HOWTO.
La chapuza en sí
El ventilador de la CPU va conectado a la placa mediante un conector de 3
pines. El cable negro va conectado a masa, el
azul lleva la información de los sensores del ventilador
(temperatura y revoluciones) y el rojo está conectado a +12V.
La operación consistirá simplemente en quitar el cable rojo de ese
conector y ponerlo en contacto con algo que esté a +5V.
Se puede encontrar algo así en cualquiera de los conectores de
corriente sin usar que salen de la fuente de alimentación. Llevan
4 cables, dos negros, uno rojo y otro amarillo. El rojo provee los
5 voltios que se necesitan.
Mi solución de alta tecnología fue empalmar los dos extremos con
un poco de cinta aislante.
Y ya está.
A continuación, un resumen fotográfico de cómo llevé a la práctica
lo anterior.
|
Conector del ventilador a la placa. |
| Uno de los conectores de corriente pequeños, usado por las disqueteras, por ejemplo. |
 |
 |
Sacando el cable del conector del ventilador. Tarea análoga para el de corriente. |
| Demostración de la impecable presencia del resultado final. |
 |
 |
Vista general. Pueden verse los cables azul y negro saliendo de la CPU hacia el conector
original y el rojo de corriente hacia la izquierda en busca de la cinta aislante. |
Mediciones
Metodología
Para poder comparar de manera adecuada el calor medido
en la CPU con el ventilador a 5 y a 12V se hace necesario ejecutar
las mismas tareas durante el mismo tiempo una vez en cada "modo"
del ventilador.
Un script bash muy simple ejecuta diversas
tareas durante un determinado tiempo y servirá para ver cuanto y
con qué velocidad se enfría y se calienta la CPU ante diversas
cargas.
La metodología entonces, consiste en arrancar el PC, entrar en el
sistema, arrancar las X (no uso ningún display manager), abrir
un terminal y ejecutar ese script. Durante todo el proceso, el
demonio sensord lee
cada 5 segundos los valores de temperatura
del sistema, rpm del ventilador y carga del sistema (entre otros),
almacenándolos en un fichero. De este fichero, la estupenda herramienta
rrdtool generará unas gráficas
que servirán para conocer lo bien o mal que se comporta el ventilador
a 5V.
En la siguiente tabla se resume lo que el sistema estaba haciendo
durante el tiempo que se estaba haciendo la medición de temperatura.
Los tiempos son en minutos.
| Tiempo |
Tiempo tarea |
Tarea |
Comentario |
| 0 | 2 | Arranque |
Carga del kernel, arranque de servicios, X |
| 2 | 5 | Sleep |
Comando sleep inicial |
| 7 | 15 | Reproducción MP3 |
mpg123 reproduciendo unos pocos mp3 |
| 22 | 10 | Sleep |
10 min de enfriamiento |
| 32 | 15 | Reproducción DivX |
mplayer, con una ocupación de CPU observada de en torno al 20% |
| 47 | 10 | Sleep | |
| 57 | 15 | Celestia |
Bonita vista de La Tierra rotando. Uso de CPU 100% constante. |
| 62 | 10 | Sleep | |
| 72 | 10 | Web, News, Visor imágenes... |
Uso estándar de PC en Internet. Caso de uso "real". |
| 82 | 10 | Sleep | |
Resultados
Las pruebas de las que se han obtenido las siguientes gráficas están
hechas en el mismo día y la temperatura ambiente se mantuvo constante
entre 17 y 18°C.
Aunque no añadan mucha información extra, también incluyo las gráficas
de carga del sistema y de revoluciones por minuto del ventilador.
Aquí va también una gráfica con los valores de temperatura de CPU y
del sistema combinadas.
Conclusiones
No hay sorpresas en cuanto a que con el ventilador a 5V, la CPU se
calienta antes, más rápido y más. También se enfría con más lentitud.
Sin embargo, bajo condiciones de carga moderada, como visión de un DivX
o trabajo típico de oficina o navegación, la temperatura no es significativamente
mayor, tal vez entre 5 y 10°C más en el peor de los casos. Mientras escribo esto,
veo que la temperatura ambiente es de 20°C y la CPU se mantiene en unos
saludables 30°C con el ventilador a +5V.
En los 15 minutos de CPU al 100% con Celestia, la temperatura alcanzó 55°
con el ventilador a 5V, frente a 45 a 12V. Es de esperar que hubiera llegado
más alto aunque parece difícil que llegara a los 60°.
Antes de la gran subida por culpa de Celestia aparece una pequeña "colina"
en la gráfica correspondiente a los 15 minutos de mplayer y DivX. Es
más evidente en el caso de los 5V, claro. No se aprecia ningún cambio en la
temperatura al reproducir mp3 en ninguno de los dos casos.
Durante la fase "interactiva" de la prueba sí se aprecia una ligerísima
subida de temperatura con respecto al reposo total, pero siempre estando
en unos límites muy contenidos alrededor de los 30°C en los dos casos.
Como curiosidad, puede observarse como la temperatura del sistema supera
la del propio procesador en varias ocasiones cuando el ventilador está
conectado a +12V. El calor se reparte por el interior de la caja en lugar
de quedarse en el disipador.
En mi caso particular el 98% del tiempo de uso del PC, la CPU no se usa a
esos extremos. Puede que haya pequeñas ráfagas de uso al 100% al compilar algo,
alguna compresión con bzip2... pero nunca durante demasiado tiempo seguido.
La reducción de ruido es bastante significativa y es mucho más soportable
ahora que antes. Aunque no es precisamente un silencio absoluto, es un nivel
aceptable.
Aún en el caso de que la CPU esté al 100% un buen rato y la temperatura
esté a 55°C mientras tanto, no me parece preocupante, dado que el procesador
ha sido diseñado para soportar temperaturas bastante mayores.
No soy ningún experto en electrónica y puede que tener funcionando así mi
CPU acorte su vida. Tengo cierta inclinación a pensar que
no es así.
Mi correo electrónico es dzub@europe PUNTO com. Cualquier comentario será
bienvenido. |