summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhilip Knirsch <pknirsch@hamburg.stuttgart.redhat.com>2009-02-02 14:31:26 +0100
committerPhilip Knirsch <pknirsch@hamburg.stuttgart.redhat.com>2009-02-02 14:31:26 +0100
commitdad7d76884d3558f14e4f61334b08cf0d1d7c81a (patch)
tree06f5671400b965d8f1cec36d6da16a70aa73037b
parentdcb6c2b4e8f85d87b2fdfd3aa2bb53d560ce9a1c (diff)
downloadtuned-dad7d76884d3558f14e4f61334b08cf0d1d7c81a.zip
tuned-dad7d76884d3558f14e4f61334b08cf0d1d7c81a.tar.gz
tuned-dad7d76884d3558f14e4f61334b08cf0d1d7c81a.tar.xz
- Added a howto docu with some tips and tricks
-rw-r--r--doc/HOWTO.txt28
1 files changed, 28 insertions, 0 deletions
diff --git a/doc/HOWTO.txt b/doc/HOWTO.txt
new file mode 100644
index 0000000..9f2d0f9
--- /dev/null
+++ b/doc/HOWTO.txt
@@ -0,0 +1,28 @@
+=== Simple user tips for improving power usage ===
+* Enforce turning of machines that are not used (e.g. company policy)
+* 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 every hour
+** echo "360000" > /proc/sys/vm/dirty_writeback_centisecs
+** Enable laptop mode
+** echo "1" > /proc/sys/vm/laptop_mode
+* 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 ===
+* Wake up only when necessary
+* No poll() calls
+* If you wake up, do everything at once (race to idle)
+* 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)