Powertop es una aplicación diseñada por Intel, de aspecto similar al comando top de GNU/Linux, y que nos proporciona información sobre el consumo eléctrico de los módulos del kernel o programas que se están ejecutando en ese momento. Pero además, Powertop nos ofrece valiosas sugerencias para intentar optimizar al máximo el consumo eléctrico del ordenador.

Hay varias consideraciones a tener en cuenta cuando intentamos mejorar la duración de la batería:
- Dar el menor brillo posible al monitor
- Desactivar todos los dispositivos de hardware que no estemos utilizando: bluetooth, tarjeta wireless, dispositivos USB, etc.
- Para los procesadores que cambian de frecuencia al vuelo, es decir, practicamente todos los actuales, intentar que la frecuencia sea siempre la menor posible. La frecuencia del procesador se puede verificar en la parte superior derecha de Powertop o utilizando alguna aplicación específica como osdcpufreq. La mejor forma de asegurarnoslo es usando los "scaling governor" del procesador conservative u ondemand. Ejemplo:
# modprobe acpi-cpufreq cpufreq_conservative
# echo conservative > /sys/devices/system/cpu/cpu/cpufreq/scaling_governor
- Habilitar el soporte HPET en la BIOS del portátil y/o forzar al kernel a usarlo. Para forzar al kernel a usar el HPET debemos modificar el fichero /boot/grub/menu.lst añadiendo la opción hpet=force a nuestro kernel (será necesario reiniciar para que los cambios tengan efecto):
kernel /boot/vmlinuz26 root=/dev/sda2 ro vga=0x317 hpet=force
- Para comprobar que HPET está siendo utilizado, podemos ejecutar el siguiente comando:
# dmesg | grep -i hpet
Kernel command line: root=/dev/sda2 ro vga=0x317 hpet=force
pci 0000:00:1f.0: Force enabled HPET at 0xfed00000
hpet clockevent registered
HPET: 3 timers in total, 0 timers will be used for per-cpu timer
rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
- Añadir pequeñas optimizaciones que nos va sugiriendo Powertop. En mi caso he añadido estas modificaciones al fichero /etc/rc.local para asegurarme que siempre se ejecutan al inicio del sistema operativo:
ethtool -s eth0 wol d
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
- Finalmente, debemos intentar ejecutar únicamente el software requerido en cada momento. Por ejemplo, en mi caso, cuando voy de viaje y estoy viendo una película, no necesito tener ejecutándose PostgreSQL (que consume mucha corriente), el servidor HTTP o FTP, o incluso la barra de tareas lxpanel, así que me he creado un sencillo script para dejar de ejecutar esos programas cuando no los necesito.
Para más información sobre cómo ahorrar batería, os dejo estos enlaces: