Ich habe hier vor geraumer Zeit für meinen Server vom kryz nen Epox EP-4GEA+ erstanden und vom silverline nen C4M 2.0 GHz (SL6QH / C1-Stepping).
Der Prozessor wurde per VID4-Pinmod (erzeugt einen Betrieb mit 1.225V VCore) vom silverline bereits auf sparsamen Betrieb vorbereitet (danke nochmal dafür) und lief natürlich auch sofort wunderbar auf dem Brett vom kryz.
Als Kühlung hatte ich erst meine Innovatek-Wasserkühlung, die auf dem vorher eingesetzten AMD-System (XP2100+ Palomino auf Asus A7N266-VM) gute (und notwendige) Dienste verrichtet hatte. Da diese aber nicht wirklich ausgelastet wurde, habe ich mich dann mal auf den hier rumfliegenden Boxed-P4-Kühler gestürzt von dem P4 3ghz, der in meinem Barebone werkelt und diesen in den Server transplantiert.
Das hatte dann zur Folge, daß ich erstmal in Panik geraten bin, als der Lüfter nicht anlaufen wollte. Als ich dann allerdings mal lm_sensors bemüht habe um die Temperatur auszulesen war ich angenehm überrascht. Die CPU-Temp lag idle bei knappen 28°C und der Lüfter wollte einfach nicht anlaufen (so ein faules Stück!). Als ich dann mal zu Streßzwecken einen Kompilier-Vorgang angeworfen habe bequemte sich der Lüfter dann doch mal dazu anzulaufen und die streßbedingte Schweißbildung an meinen Handflächen ließ rapide nach.
Nun gut. Lange Rede, kurzer Sinn.
Mir kam nach einiger Zeit dann mal die Idee evt noch mehr Strom einzusparen, da der Server aus diversen Gründen (unter anderem nur um seiner Bezeichnung gerecht zu werden) 24/7 läuft. Also habe ich mal ein wenig im Netz und im Kernel (linux-2.6.7-gentoo-r14) nach Möglichkeiten gesucht. Die habe ich dann auch fix gefunden. Also habe ich mir Notizen gemacht und das ganze erstmal auf die "To-Do-Liste" gesetzt, man ist ja von Natur aus faul als Student.
Heute war es dann allerdings soweit. Ich habe urplötzlich einen gewaltigen Motivationsschub verspürt und sagte mir "Bevor das in 5 Sekunden wieder vorbei is, as usual, raffst Du dich jetzt auf und machst das fertig, TSCHAKA!".
Also machte ich mich erstmal an den Kernel und modifizierte ihn dahingehen, daß er die "Intel Pentium 4 clock modulation" verpasst bekam. Egal ob es ihm gefiel oder nicht! Die gesamte Konfiguration des Kernels dahingehend sieht wie folgt aus:
Code: Select all
#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_PROC_INTF is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
# CONFIG_CPU_FREQ_24_API is not set
CONFIG_CPU_FREQ_TABLE=y
#
# CPUFreq processor drivers
#
# CONFIG_X86_ACPI_CPUFREQ is not set
# CONFIG_X86_POWERNOW_K6 is not set
# CONFIG_X86_POWERNOW_K7 is not set
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_GX_SUSPMOD is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_SPEEDSTEP_ICH is not set
# CONFIG_X86_SPEEDSTEP_SMI is not set
CONFIG_X86_P4_CLOCKMOD=y
CONFIG_X86_SPEEDSTEP_LIB=y
# CONFIG_X86_LONGRUN is not set
# CONFIG_X86_LONGHAUL is not set
Als dieses fertig war, warf ich die Installation von cpudyn an und warf es mal testweise an. Und siehe da, es lief. Insgesamt muss ich sagen ein enorm kleiner Aufwand um seine CPU im Idle-Modus massiv (bis auf 250mhz..) runterzutakten. Zusätzlich habe ich dann noch in der config von cpudyn angewählt, daß sämtliche Festplatten, ausgenommen der System-Platte, nach 120 Sekunden ausgeschaltet werden. Also noch mehr Stromersparnis
Hier nochmal ein paar Auszüge was die Frequenzen etc anbelangt.
Code: Select all
server root # cpudynd -V
cpudynd version 0.99.0 Copyright: Ricardo Galli <gallir@uib.es>
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
250000 <-- Idle
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq
2000000 <-- Kompilierend
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
powersave <-- Idle
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
performance <-- Kompilierend
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
powersave userspace performance
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
250000 500000 750000 1000000 1250000 1500000 1750000 2000000 <-- verfügbare/mögliche Frequenzen
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
p4-clockmod
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
250000
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
2000000
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
250000
server root # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
2000000
Habe gerade nochmal die Unterstützung im Kernel für /proc/cpufreq aktiviert, hier der Output:
server root # cat /proc/cpufreq
minimum CPU frequency - maximum CPU frequency - policy
CPU 0 250000 kHz ( 12 %) - 2000000 kHz (100 %) - powersave