diff options
Diffstat (limited to 'doc/TIPS.txt')
-rw-r--r-- | doc/TIPS.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/TIPS.txt b/doc/TIPS.txt new file mode 100644 index 0000000..6b76dd1 --- /dev/null +++ b/doc/TIPS.txt @@ -0,0 +1,38 @@ +=== 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 +(race to idle). +* Put network card to 100 mbit/10 mbit: +** 10 mbit: ethtool -s eth0 advertise 0x002 +** 100 mbit: ethtool -s eth0 advertise 0x008 +** Doesn't work for every card +* Put harddisk to spindown fast and full power saving: +** 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 5 minutes +** echo "3000" > /proc/sys/vm/dirty_writeback_centisecs +** Enable 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 +* 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) |