Schlagwort ‘GreenIT‘

FreeBSD: Energie sparen

GreenIT ist in aller Munde und was zuvor nur für den mobilen Bereich galt, ist auch heute beim Desktop-User angekommen. Vorbei sind die Zeiten eines Intel Prescott, welcher ungehindert vor sich hinheizte, auch wenn der Rechner ansonsten nichts zu tun hatte. Zwar sind die diversen Techniken, um zum Ziel gelangen, teils noch nicht wirklich ausgereizt, aber es ist ein Anfang.

FreeBSD bietet mit cpufreq ein Framework, welches die diversen CPUs von AMD und Intel ansteuert und sich deren Mechanismen in puncto Ruhezuständen, Verhalten unter geringer Last, etc. pp. zu Nutze macht. Mit dem Daemon powerd schließlich, kann dieses Verhalten je nach Kontext automatisch angepaßt werden, in eigens gewählten Grenzen.

echo 'powerd_enable="YES"' >>/etc/rc.conf
echo 'powerd_flags="-a hiadaptive -b minimum"

 

Dies ist eine moderate Konfiguration der Energiesparmaßnahmen. In /etc/rc.conf wird der Daemon powerd aktiviert und mittels powerd_flags konfigurieren wir diesen. a meint hier schlicht den Netzbetrieb, b folglich den Batteriebetrieb. Bei ersterem wird mit hiadaptive eine schnelle Reaktion bevorzugt, während bei letzterem mit minimum der Spareffekt auf Kosten der Systemleistung gefördert wird. Man kann diese Einstellungen natürlich variieren bzw. noch eine Feinjustierung vornehmen, usw. Die Grundeinstellung ist hiadaptive für a und adaptive für b.

economy_cx_lowest="C2"
performance_cx_lowest="C2"

 

sysctl dev.cpu.0.cx_supported gibt Auskunft bezüglich der möglichen Ruhezustände, C1 ist die Grundeinstellung, ich wähle hier C2, C3 ist bei mir nicht vorhanden und wirkt sich in der Regel auch eher nachteilig auf die Reaktionszeit des Systems aus.

kern.hz=100
hint.acpi_throttle.0.disabled=1
hint.p4tcc.0.disabled=1

 

Nachdem ich C2 wählte, ist p4tcc bzw. acpi_throttle eher unnötig, d.h. es entsteht keine zusätzliche Ersparnis, insofern kann man diese deaktivieren. Darüber hinaus sind geringere Unterbrechungen von Vorteil, damit der Rechner seine Ruhephasen auch auskosten kann, ergo kern.hz=100.

echo 'ahci_load="YES" >>/boot/loader.conf'
echo 'hint.ahcich.0.pm_level=5' >>/boot/loader.conf
echo 'hint.ahcich.1.pm_level=5' >>/boot/loader.conf

 

Die Ruhezustände der Festplatte nutze ich generell nicht, mitunter kann man diese moderat einsetzen, muß jedoch dabei bedenken, daß jedes «Hochfahren» der Festplatte die Lebenszeit dieser verringert. In jüngster Zeit machten einige Hersteller negative Schlagzeilen mit allzu aggressivem Verhalten und somit einer drastisch verkürzten Lebensdauer der Datenträger. Ich nutze hingegen die Fähigkeiten des SATA-Kontrollers Energiesparmaßnahmen einzuleiten zusammen mit ahci. Wichtig im Zusammenhang mit ahci ist, daß sich die Namen der Geräte ändern, wer mit Bezeichern für die einzelnen Partitionen arbeitet ist dabei klar im Vorteil.

Dieses Dokument ist work in process, d.h. es wird gelegentlich eine Erweiterung bzw. u.U. auch Änderung erfahren. Viel Spaß :-)

, , , , , , , ,

RSS-Feed abonnieren