Kleine Basisarbeiten am Server
Die letzten Tage waren die Newsticker voll von einer Schlagzeile: Die Schaltsekunde!
In der Nacht zum 01.07. ist mal wieder eine Schaltsekunde eingefügt worden, um die Verluste auszugleichen. Der Linux-Kernel stolpert dabei leider in einigen Versionen und erzeugt eine Endlosschleife, die die CPU mal kurz auf 100% laufen lässt. Die Mail von Hetzner in meinem Postfach hat dabei den ersten Platz gewonnen. Die haben in den Statistiken einen schönen Stromanstieg im 1 Megawatt zum Zeitpunkt der Einführung der Schaltsekunde gemessen. und da dieser "Peak" auch Tage später noch anhält, wurden alle Kunden aufgefordert ihren Server zu checken und ggf. zu rebooten.
Beim Check haben sich auch gleich ein paar Sachen ergeben, die ich im Themenkreis "Stromsparen" gleich mit gecheckt habe.
Neue CPUs können die Taktfrequenz reduzieren, um Strom zu sparen. Unter Linux kann dieses Verhalten mit der Software "cpufrequtils" erledigt werden. Mit dem gleichnamigen Debian-Packet installiert sich die Konfig-Dateiei /etc/default/cpufrequtils. Der GOVERNOR stellt dabei ein, wie sich die CPU verhalten soll. Bei mir war das per Default "performance", was so viel wie "immer auf max speed" bedeutet. Ein Einfaches Umstellen auf ondemand sorgt dafür, dass die CPU sich in ruhigen Zeiten runtertaktet. Kontrollieren lässt sich das mit dem Befehl cpufreq-info:
Wichtig sind dabei die Zeilen "current policy" und "current CPU frequency". Dort ist zu sehen, dass meine CPU aktuell auf 1GHz gelaufen ist. Der Rest verrät mir dann auch gleich noch ein bischen über die Fähigkeiten der CPU.
Eine weitere kleine Vorkehrung, die ich inzwischen immer aktiviere, ist der Parameter "noatime" beim mounten von Dateisystemen. Einmal die /etc/fstab gecheckt und schon war zu sehen, dass dies auf dem Server noch nicht aktiv ist. noatime verhindert, dass die Access-Time einer Datei, also der letzte Zugriff auf diese Datei, in der Inode gespeichert wird. Dieser unscheinbare kleine Schalter macht also aus jeder Lese-Operation auch gleich ein Schreibzugriff auf das rotierende Rost. Das kostet Zeit, drückt auf die Geschwindigkeit und verbraucht (wenn auch nur in geringen Mengen) mehr Strom. Also abschalten...
In der fstab wird dazu die Spalte der Mountoptionen angepasst.
Da die fstab nur beim mounten eingelesen wird, müsste ich den Server rebooten. Will ich aber nicht. Also fix ein remount abgeschickt:
Danach ist die noatime-Einstellung für die Platte gesetzt und ein Lesezugriff bleibt ein Lesezugriff. Checken kann man das ebenfalls mit mount:
Es gibt bestimmt noch mehr kleine Tips zum Energiesparen oder Performance erhöhen. Wenn Ihr welche habt, hinterlasst sie einfach als Kommentar unter diesem Beitrag.
In der Nacht zum 01.07. ist mal wieder eine Schaltsekunde eingefügt worden, um die Verluste auszugleichen. Der Linux-Kernel stolpert dabei leider in einigen Versionen und erzeugt eine Endlosschleife, die die CPU mal kurz auf 100% laufen lässt. Die Mail von Hetzner in meinem Postfach hat dabei den ersten Platz gewonnen. Die haben in den Statistiken einen schönen Stromanstieg im 1 Megawatt zum Zeitpunkt der Einführung der Schaltsekunde gemessen. und da dieser "Peak" auch Tage später noch anhält, wurden alle Kunden aufgefordert ihren Server zu checken und ggf. zu rebooten.
Beim Check haben sich auch gleich ein paar Sachen ergeben, die ich im Themenkreis "Stromsparen" gleich mit gecheckt habe.
Neue CPUs können die Taktfrequenz reduzieren, um Strom zu sparen. Unter Linux kann dieses Verhalten mit der Software "cpufrequtils" erledigt werden. Mit dem gleichnamigen Debian-Packet installiert sich die Konfig-Dateiei /etc/default/cpufrequtils. Der GOVERNOR stellt dabei ein, wie sich die CPU verhalten soll. Bei mir war das per Default "performance", was so viel wie "immer auf max speed" bedeutet. Ein Einfaches Umstellen auf ondemand sorgt dafür, dass die CPU sich in ruhigen Zeiten runtertaktet. Kontrollieren lässt sich das mit dem Befehl cpufreq-info:
# cpufreq-info
cpufrequtils 004: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to cpufreq@lists.linux.org.uk, please.
analyzing CPU 0:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
available cpufreq governors: conservative, powersave, userspace, ondemand, performance
current policy: frequency should be within 1000 MHz and 2.80 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1000 MHz (asserted by call to hardware).
cpufreq stats: 2.80 GHz:99.35%, 2.60 GHz:0.00%, 2.40 GHz:0.00%, 2.20 GHz:0.00%, 2.00 GHz:0.00%, 1.80 GHz:0.02%, 1000 MHz:0.63% (10253)
analyzing CPU 1:
driver: powernow-k8
CPUs which need to switch frequency at the same time: 0 1
hardware limits: 1000 MHz - 2.80 GHz
available frequency steps: 2.80 GHz, 2.60 GHz, 2.40 GHz, 2.20 GHz, 2.00 GHz, 1.80 GHz, 1000 MHz
available cpufreq governors: conservative, powersave, userspace, ondemand, performance
current policy: frequency should be within 1000 MHz and 2.80 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1000 MHz (asserted by call to hardware).
cpufreq stats: 2.80 GHz:99.35%, 2.60 GHz:0.00%, 2.40 GHz:0.00%, 2.20 GHz:0.00%, 2.00 GHz:0.00%, 1.80 GHz:0.02%, 1000 MHz:0.63% (10253)
Wichtig sind dabei die Zeilen "current policy" und "current CPU frequency". Dort ist zu sehen, dass meine CPU aktuell auf 1GHz gelaufen ist. Der Rest verrät mir dann auch gleich noch ein bischen über die Fähigkeiten der CPU.
Eine weitere kleine Vorkehrung, die ich inzwischen immer aktiviere, ist der Parameter "noatime" beim mounten von Dateisystemen. Einmal die /etc/fstab gecheckt und schon war zu sehen, dass dies auf dem Server noch nicht aktiv ist. noatime verhindert, dass die Access-Time einer Datei, also der letzte Zugriff auf diese Datei, in der Inode gespeichert wird. Dieser unscheinbare kleine Schalter macht also aus jeder Lese-Operation auch gleich ein Schreibzugriff auf das rotierende Rost. Das kostet Zeit, drückt auf die Geschwindigkeit und verbraucht (wenn auch nur in geringen Mengen) mehr Strom. Also abschalten...
In der fstab wird dazu die Spalte der Mountoptionen angepasst.
/dev/md2 / ext3 defaults,noatime 0 0
Da die fstab nur beim mounten eingelesen wird, müsste ich den Server rebooten. Will ich aber nicht. Also fix ein remount abgeschickt:
# mount -o remount /
Danach ist die noatime-Einstellung für die Platte gesetzt und ein Lesezugriff bleibt ein Lesezugriff. Checken kann man das ebenfalls mit mount:
# mount
/dev/md2 on / type ext3 (rw,noatime)
Es gibt bestimmt noch mehr kleine Tips zum Energiesparen oder Performance erhöhen. Wenn Ihr welche habt, hinterlasst sie einfach als Kommentar unter diesem Beitrag.