diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/TIPS.txt (renamed from doc/HOWTO.txt) | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/doc/HOWTO.txt b/doc/TIPS.txt index 9f2d0f9..6b76dd1 100644 --- a/doc/HOWTO.txt +++ b/doc/TIPS.txt @@ -1,5 +1,8 @@ === Simple user tips for improving power usage === +* Use a properly dimensioned system for the job (no need for overpowered systems for simple Desktop use e.g.) +* For servers consolidate services on fewer systems to maximize efficiency of each system * Enforce turning of machines that are not used (e.g. company policy) +* Unplug and/or turn of peripherals that aren't used (e.g. external USB devices, monitors, printers, scanners) * Turn of unused hardware already in BIOS. * Disable power hungry features. * Enable CPU scaling if supported for ondemand CPU governor. DONT use powersave governor, typically uses more power than ondemand @@ -12,17 +15,24 @@ ** hdparm -S240 /dev/sda (20m idle to spindown) ** hdparm -B1 /dev/sda (Max powersave mode) * Make sure writes to hd don't wake it up too quickly: -** Set flusing to once every hour -** echo "360000" > /proc/sys/vm/dirty_writeback_centisecs +** Set flusing to once 5 minutes +** echo "3000" > /proc/sys/vm/dirty_writeback_centisecs ** Enable laptop mode -** echo "1" > /proc/sys/vm/laptop_mode +** echo "5" > /proc/sys/vm/laptop_mode +* Use relatime for your / partition +** mount -o remount,relatime / +* Disable CD-ROM polling from HAL (prevents popups when a CD is inserted): +** hal-disable-polling --device /dev/scd0 +* Enable USB autosuspend by adding the following to the kernel boot commandline: +** usbcore.autosuspend=5 * Screensaver needs to dpms off the screen, not just make colors black. To turn of monitor after 120s when X is running: ** xset dpms 0 0 120 === Simple programmer tips for improving power usage === +* Avoid unecessary work/computation * Wake up only when necessary -* No poll() calls -* If you wake up, do everything at once (race to idle) +* Do not actively poll in programs or use short regular timeouts, rather react to events +* If you wake up, do everything at once (race to idle) and as fast as possible * Use large buffers to avoid frequent disk access. Write one large block at a time * Don't use [f]sync() if not necessary * Group timers accross applications if possible (even systems) |