Linux – Laptop – Ultimate Powersaving !
Le but de cet article est de faire économiser de la batterie à votre laptop sous Linux.
Avec quelques tips, c’est possible très facilement.
On peut gagner 1h de batterie avec quelques méthodes simples.
Follow the white rabbit
Outils indispensable
Déjà il va vous falloir vous munir d’un outils indispensable développé par intel nommé : powertop
Le gars qui cherche à économiser de la batterie et qui n’a pas installé powertop c’est vraiment un gros naz 🙂
Lancez powertop en root, et suivez le guide, tout est expliqué directement dans l’interface ncurses.
Désactive le superflu dans l’bios petite loutre
Il convient d’aller désactiver les choses dont vous ne vous servez jamais dans le bios.
Exemple :
Etc … etc …
ça permet d’économiser déjà pas mal de batterie.
Modifies ton sysctl.conf petit castor
Quelques réglages à avoir dans le sysctl.conf
modifier : /etc/sysctl.conf
vm.dirty_writeback_centisecs = 2000
kernel.nmi_watchdog = 0
vm.swappiness = 5
Le writeback du cache du système de fichiers sur le disque dur se fait assez fréquemment. Pour réduire la consommation, il suffit de le faire moins fréquemment.
Par defaut le writeback est à 500
fout ça dans ton /sys petit scarabée
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
echo min_power > /sys/class/scsi_host/host1/link_power_management_policy
Actives le power management dans ta carte wifi Intel petite fourmis des bois
Mon petit script à la con, lis ça petit phasmid
#echo 5 > /sys/bus/pci/drivers/iwlagn/*/power_level
echo 5 > /sys/bus/pci/drivers/iwlagn/0000\:03\:00.0/power_level
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
echo 5 > /proc/sys/vm/laptop_mode
# passe en economie d'energie la carte son
echo 10 > /sys/module/snd_hda_intel/parameters/power_save
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
# desactive le wake on lan sur eth0
ethtool -s eth0 wol d
# met la luminosité à 30%
xbacklight -set 30
# Passe le frequency scaling en "on demand"
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
## Spécifique thinkpad x300 ou equivalent
# desactive le bluetooth
echo disable > /proc/acpi/ibm/bluetooth
# desactive le modem 3G
echo disable > /proc/acpi/ibm/wan
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
Le paramètre sched_smt_power_savings sous /sys/devices/system/cpu/ contrôle le multithreading. Par défaut, il vaut 0 pour des performances optimales
Mettez le à 1 pour avoir plus de batterie, ainsi vous ne vous servirez du second cœur de votre cpu qu’en cas de besoin ! :
Conclusion
Cet article n’est pas complet car j’ai également des optimisations dans mon kernel, mais ça peut déjà vous donner une bonne base de travail.
N’hésitez pas à faire des bench avec powertop à CHAQUE modification pour voir ce que ça change sur votre consommation en Watts.
Question Curiosité : Pour le Suspend2Ram, tu utilises quoi ? 😮
@khemael
J’active le suspend2ram dans l’kernel
Et j’ai un alias dans mon bashrc :
alias suspend=”echo mem > /sys/power/state”
Pourquoi je n’ai pas mis cette commande à la détection de l’evenement acpi “lid off” de mon laptop ?
Parceque ça m’emmerde que mon laptop passe en suspend to ram lorsque je le ferme.
Je préfère qu’il y passe quand je lui tappe la commande suspend, au moins je ne le suspend jamais par erreur.
Même chose ici, si ce n’est que le driver “nvidia” (le sale, celui tout propriétaire et diabolique) en version 190.xx.xx avait énormement de mal a revenir en sortie de suspend2ram. Un passage en 195.x semble avoir réglé ca.
J’utilise que des drivers libre au niveau des cartes graphique and co.
Donc je ne peux pas comprendre ton soucis.
Désolé.
Petit tips en plus pour désactiver votre dent blue !
hciconfig
hci0: Type: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0
si votre hci0 est up il vous consome de la batterie.
Éteignez le !
hciconfig hci0 down
Vous pouvez aussi désactiver le module kernel :
rmmod hci_usb
Merci pour ces astuces !!! Cool !!
Super article ! Pour plus d’infos y’a aussi http://lesswatts.org
Mais même avec tout ça, sur un EeePC 1005pe à juste faire du web/ssh j’arrive péniblement à 6h d’autonomie, quand sous windows 7 j’ai 10h 🙁 Vous, de meilleures expériences ?
Merci, je vais juste éviter la dernière commande parce que sans mes deux processeurs j’ai du mal à faire tourner Firefox (rooh le troll).
(edit : Je n’ai pas de /sys/bus/pci/drivers/iwlagn sur ma Ubuntu 10.04…)
Sympa ton troll Dd 🙂
@StalkR désolé je n’ai jamais testé d’os non libre sur aucune de mes machines, je ne peux donc pas comparer.
@PatDoc you’re welcome.
Il manque :
$ hdparm -B1 /dev/sda
Qui permet d’économiser sur le disque dur (cf man hdparm)
Merci pour les tuyaux.
Bonne,
beatnick
Effectivement intéressant ! merci…
Juste une question pratique : comment faire un bench “propre” et “efficace” de son autonomie ? Vous avez un outil à recommender pour éviter de trop longues attentes entre deux réglages ?
2pvyj2