Entschuldigt die Threadnekrophilie von mir, aber vielleicht hilft es jemandem.
Ich habe mein X200 mit einem schönen X201-Mainboard ausgerüstet. Drin steckt ein Core i5 540 2,53 GHz. Es ist unmöglich, diese CPU dauerhaft auf vollem Takt zu betreiben. Ich habe die Wärmeleitpaste erneuert und das Wärmeleitpad auf dem Kühler durch ein Kupferplättchen ausgetauscht - dennoch: Mit aktiviertem Turbo Boost ist die CPU innerhalb von ca. 30 Sekunden auf 100 Grad und das Gerät geht aus, wenn ich etwas durchgehend kompiliere.
Wenn ich Turbo Boost deaktiviere, hält sie 1-2 Minuten durch, erreicht die ärgerliche Schwelle aber wieder. Neustes BIOS ist drauf, selbst das Throttling auf Automatisch zu stellen hat nicht geholfen, da die CPU dann trotzdem nicht throttelt, oder nicht genug.
Die Lösung unter Windows wurde hier ja bereits beschrieben. Mir hat das Äquivalent unter Linux gefehlt. Ich habe mir die folgenden zwei Skripte in /usr/bin abgelegt:
halfpower:
Code:
#!/bin/bash
echo 1999000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 1999000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 1999000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 1999000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
echo 0 > /sys/devices/system/cpu/cpufreq/boost
Das begrenzt alle Kerne/Threads der CPU auf maximal 2 GHz und schaltet gleichzeitig den Turbo Boost aus. Reicht aus um bei 70-80°C entspannt Code kompilieren zu können. Da ich im "normalen" Betrieb keine Probleme habe, gibt es dieses Skript um diese Begrenzungen wieder rückgängig zu machen:
fullpower:
Code:
#!/bin/bash
echo 2534000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 2534000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 2534000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 2534000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
echo 1 > /sys/devices/system/cpu/cpufreq/boost
fullpower und halfpower ist schnell eingetippt, bevor man irgendetwas machen will und ich bin jetzt zufrieden mit dem kleinen Teil.