Tengo una notebook que siempre a tenido problemas de temperatura, una de las maneras que tenia de reducir la temperatura con de una base de ventilación pero no era suficiente.
La notebook es una Dell con un Core i7 de segunda generación y una tarjeta de vídeo híbrida doble, una Intel y una Nvidia, cuando la compre apenas encendía sin haber abierto nada todavía llegaba a 80°C, y la base apenas le bajaba entre 5°C o 10°C con suerte.
Esto debido a que por problemas de drivers y problemas de gestión de energía de Linux siempre se mantenían las 2 tarjetas de video activas en todo momento cuando en realidad solo debería estar una, en ese momento utilizaba Fedora y nunca logre desactivar la Nvidia.
Por esa razón cambie de nuevo a Debian, solo con ese cambio reduje la temperatura a 60°C y con el script de abajo reduje otros 10°C, para quedar en unos 50°C y hoy con mejoras en los drivers ronda los 40°C
La primera parte del script apaga la tarjeta de video y la segunda capa el turbo boost del procesador. Para la segunda parte necesitamos el paquete
#apt-get install msr-tools
Podemos guardar lo siguiente en un archivo y guardarlo por ejemplo en /bin/extinguisher y le damos permisos de ejecución con chmod +x /bin/extinguisher obviamente luego lo corremos con sudo
En este caso es para un CPU de 4 nucleos y 8 subprocesos por eso va del -p0 al -p7, en el caso de ser por ejempo de 2 nucleos y 4 subprocesos el script hay que cambiarlo y van las lineas del -p0 al -p3.
#!/bin/bash #Apaga la segunda tarjeta de video # Asegurarse que esta instalado firmware-linux-nonfree mountpoint -q /sys/kernel/debug mount -t debugfs none /sys/kernel/debug echo OFF > /sys/kernel/debug/vgaswitcheroo/switch cat /sys/kernel/debug/vgaswitcheroo/switch #desactiva Turbo Boost modprobe msr wrmsr -p0 0x1a0 0x4000850089 wrmsr -p1 0x1a0 0x4000850089 wrmsr -p2 0x1a0 0x4000850089 wrmsr -p3 0x1a0 0x4000850089 wrmsr -p4 0x1a0 0x4000850089 wrmsr -p5 0x1a0 0x4000850089 wrmsr -p6 0x1a0 0x4000850089 wrmsr -p7 0x1a0 0x4000850089
Para volver a activas Turbo Boost podemos poner lo siguiente en otro archivo, colocarlo en /bin y darle permisos de ejecución de igual forma que el anterior.
#!/bin/bash modprobe msr wrmsr -p0 0x1a0 0x850089 wrmsr -p1 0x1a0 0x850089 wrmsr -p2 0x1a0 0x850089 wrmsr -p3 0x1a0 0x850089 wrmsr -p4 0x1a0 0x850089 wrmsr -p5 0x1a0 0x850089 wrmsr -p6 0x1a0 0x850089 wrmsr -p7 0x1a0 0x850089
Mas que esperar que esto les sirva, lo que realmente espero es que no lo necesiten nunca.
Administrador de Sistemas, Programador, Docente y ahora resulta que también Blogger (peor es ser tictoker). Más de 20 años de experiencia en computación atendiendo nabos y resolviendo problemas que sino fuera por estos nabos no habrían ocurrido en primer lugar. Escribo más que nada sobre tecnología y herramientas en general además de algunos artículos con opiniones tan subjetivas como irrelevantes, así que si no te gustan mejor madura.