[#] Wydłużamy pracę na baterii notebooka

( Ostatnio zmieniony sob., 14/06/2008 - 12:40 )
 

UWAGA: poniższe działania wykonujesz na własne ryzyko i nie miej do mnie żalu że coś jest nie tak jak tutaj zostało napisane.

1. Zainstaluj narzędzie powertop

sudo apt-get install powertop

Sprawdź jaki proces wzbudza najwięcej procesor (możesz w locie stosować porady powertopa, nie zostaną zapisane)

Sugerowane działania

1.increase the VM dirty writeback time from 5,00 to 15 seconds with:

echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
This wakes the disk up less frequenty for background VM activity

2. Disable ‚hal‘ from polling your cdrom with:

hal-disable-polling --device /dev/scd0
'hal' is the component that auto-opens a window if you plug in a CD but disables SATA power saving from kicking in.

3. Enable USB autosuspend by pressing the U key or adding to the kernel command line in the grub config

usbcore.autosuspend=1

Moje wyniki
Użycie zasilania (szacunek ACPI): 13,3W (3,0 godzin) (długoterminowo: 18,6W,/2,1h)

Tylko na tyle udało mi się zejść w Ubuntu z Gnomem :)

2. Konstruujemy mini-skrypt

Skrypt odpalamy na końcu sekwencji startu systemu (zapisz go w /etc/init.d i utwórz symboliczne łącze w /etc/rc2.d:

Skrypt 1. own_powertop_com­mon

## Uwaga: stosować tylko w laptopach!
# zobacz jaką masz wartość
# cat /proc/sys/vm/dirty_writeback_centisecs (zwraca 500 = 5s)
# ustawmy na 1500 = 15s, można to również zwiększyć
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
# laptop_mode
echo 5 > /proc/sys/vm/laptop_mode
##

## jeśli nie potrzebujesz czasów dostępu do plików systemowych
#mount -o remount,noatime /
# lub dla home
#mount -o remount,noatime /home

## Wake-On-Lan, w biosie można wyłączyć
#ethtool -s eth0 wol d

pamiętaj o uprawnieniach:

chmod +x own_powertop_common

symboliczne łącze tworzy się tak:

ln -s /etc/init.d/own_poertwop_common /etc/rc2.d/S99own_powertop_common

3. Tworzymy cztery inne skrypty

potrzbne by uaktywnić i zdezaktywować USB i Wifi, kiedy ich nie potrzebujemy (jeden z powodów dużego zużycia energii).

unload_usb.sh

rmmod ehci_hcd uhci_hcd ohci1394

unload_wifi.sh

rmmod iwl3945 iwlwifi_mac80211

unload_blueto­oth.sh

hciconfig hci0 down
rmmod hci_usb

load_usb.sh

modprobe uhci_hcd
modprobe ohci1394
modprobe ehci_hcd

load_wifi.sh

modprobe iwl3945
modprobe iwlwifi_mac80211

load_bluetooth.sh

hciconfig hci0 up
modprobe hci_usb

Trochę szerzej o usb
USB 1.1 jest najgorsze. Zapomnij o niskim zużyciu energii używając tego. Jeśli nie masz żadnych urządzeń typu USB 1.1 usuń wsparcie do tego:

rmmod uhci_hcd

lub jesli nie zamierzasz wcale używać USB 1.1 (na nieszczęście wbudowane: bluetooth i czytnik linii papilarnych używają USB 1.1) wykonaj:

echo "blacklist uhci_hcd" >> /etc/modprobe.d/blacklist

UWAGA: nazwy modułów mogą się różnić głównie jeśli chodzi o Wifi – sprawdź to!
Pamiętaj że skrypty muszą być wykonywane z uprawnieniami administratora (root), jeśli chcesz to robić ręcznie dodaj „sudo“ przed każdą linią poleceń.

Co do bluetooth, zobacz jak to działa:

sudo hciconfig hci0 down
sudo hciconfig hci0

hci0:   Type: USB
        BD Address: 00:1C:4A:C1:12:54 ACL MTU: 1017:8 SCO MTU: 64:8
        DOWN
        RX bytes:951 acl:0 sco:0 events:25 errors:0
        TX bytes:348 acl:0 sco:0 commands:25 errors:0


sudo hciconfig hci0 up
sudo hciconfig hci0

hci0:   Type: USB
        BD Address: 00:1C:4A:C1:12:54 ACL MTU: 1017:8 SCO MTU: 64:8
        UP RUNNING PSCAN ISCAN
        RX bytes:1896 acl:0 sco:0 events:49 errors:0
        TX bytes:693 acl:0 sco:0 commands:49 errors:0

Przydaje się czasem wyłączyć bluetooth ręcznie bo zazwyczaj w laptopach jest to pod jednym guzikiem, a co jeśli właśnie potrzebujemy wifi?

4. Inne metody

Wyłącz efekty – Compiz!

moc karty wifi

sudo cat /sys/bus/pci/drivers/iwl3945/*/power_level
  • 1 is the lowest number, with the least savings (but also with the lowest added latency)
  • 5 is the highest number
  • 6 disables the power savings feature again (see example below)
iwpriv eth1 set_power 5

uniwersalniej:

for i in /sys/bus/pci/devices/*/power_level ; do echo 5 > $i ; done

autonegocjacja karty sieciowej

## stałe 100MB bez autonegocjacji
ethtool -s eth0 autoneg off speed 100
## z autonegocjacją
ethtool -s eth0 autoneg on speed 1000

blokada wyjść TV, CRT, DVI itp.
zobacz co zwraca:

xrandr

i zablokuj co aktywne jeśli ma jakieś wartości:

xrandr --output TMDS --off

xrandr --output TV -off

# tylko ibm ?
echo crt_disable > /proc/acpi/ibm/video
echo dvi_disable > /proc/acpi/ibm/video

sprawdzanie czy włożono CD

#wyłączenie
hal-disable-polling --device /dev/cdrom
#włączenie
hal-disable-polling --device /dev/cdrom --enable-polling

PCMCIA
Absolutna blokada PCMCIA – ja np. nie używam wcale (możesz też wyłączyć to w biosie)

echo "blacklist pcmcia" >> /etc/modprobe.d/blacklist
echo "blacklist yenta_socket" >> /etc/modprobe.d/blacklist

Procesor

# na rządanie
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# przydatne przy dwu lub więcej rdzeniowych procesorach
echo 1 > /sys/devices/system/cpu/sched_mc_power_savings

sprawdzenie ile razy w jakim stanie był procesor
Źródło: How_to_make_u­se_of_Dynamic_Fre­quency_Scaling

cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state

Dysk – włącz zarządzanie zasilaniem łącza SATA ALPM „Aggressive Link Power Management“
Uwaga: dotyczy jeśli masz dysk SATA
Wyrażenia host0 , host1 itd. jeśli masz więcej dysków.

# włącz ALPM
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy
# wyłącz ALPM
echo max_performance > /sys/class/scsi_host/host0/link_power_management_policy

INFORMACJA:

Jeśli chcemy zobaczyć co budzi nasz dysk twardy możemy wydać polecenie:

sudo sysctl vm.block_dump = 1

i teraz wykonując dmesg widzimy co robi nasz dysk

# deaktywacja:
sudo sysctl vm.block_dump = 0
# status
sysctl vm.block_dump

Xorg – jeśli nie używasz wogóle 3D
edytuj /etc/X11/xorg.conf i w sekcji „Device“ twojej karty graficznej, dodaj wpis:

Option     "NoDRI"

Kernel boot ICH3
Jeśli używasz chipsetu Intel ICH3 (zobacz lspci) powinieneś używać zintegrowanego timera HPET (oszczędza około 30 pobudek CPU)
Żeby zobaczyć czy twój laptop ma to włączone, wykonaj:

grep hpet /proc/timer_list

jeśli nie wyświetliło się „Clock Event Device: hpet“, dodaj do gruba / lilo jako parametr dla jądra taki wpis:

hpet=force

Bez opisu – co nie znaczy złe

echo 0 > /proc/sys/kernel/nmi_watchdog
echo Y > /sys/module/snd_ac97_codec/parameters/power_save

for i in /sys/bus/usb/devices/*/power/autosuspend; do echo 1 > $i; done

# kill wifi
echo 1 > /sys/bus/pci/devices/*/rf_kill

Wyłaczenie pcmcia

rmmod pcmcia yenta_socket

włączenie:

modprobe yenta_socket
modprobe pcmcia

Obserwacja baterii notebooka
Źródła:
How_to_measure_po­wer_consumpti­on
ACPI_sleep_po­wer_drain_tes­t_script

watch -n1 'cat /proc/acpi/battery/C238/*'

Możesz mieć inną ścieżkę, sprawdź to!

Na podłączonym zasilaniu:

Every 1,0s: cat /proc/acpi/battery/C238/*

alarm:                   unsupported
present:                 yes
design capacity:         3703 mAh
last full capacity:      3703 mAh
battery technology:      rechargeable
design voltage:          11100 mV
design capacity warning: 186 mAh
design capacity low:     38 mAh
capacity granularity 1:  100 mAh
capacity granularity 2:  100 mAh
model number:            Primary
serial number:           00542 2007/07/22
battery type:            LIon
OEM info:                Hewlett-Packard
present:                 yes
capacity state:          ok
charging state:          charged
present rate:            1205 mA
remaining capacity:      3542 mAh
present voltage:         12000 mV

Praca na baterii:

Every 1,0s: cat /proc/acpi/battery/C238/*

alarm:                   unsupported
present:                 yes
design capacity:         3703 mAh
last full capacity:      3703 mAh
battery technology:      rechargeable
design voltage:          11100 mV
design capacity warning: 186 mAh
design capacity low:     38 mAh
capacity granularity 1:  100 mAh
capacity granularity 2:  100 mAh
model number:            Primary
serial number:           00542 2007/07/22
battery type:            LIon
OEM info:                Hewlett-Packard
present:                 yes
capacity state:          ok
charging state:          discharging
present rate:            1416 mA
remaining capacity:      3548 mAh
present voltage:         12017 mV

Źródła:

thinkpad-x61s-i-linux
How_to_reduce_po­wer_consumpti­on
Powertop : known

Twoja ocena: Brak Średnio: 5 (2 głosy)

Odpowiedzi : 3

Ostatni komentarz : ndz., 21/02/2010 - 09:15

"13,3W" - ja tyle mam na włączonym wi-fi, modemie iplus i podczas kompilacji kernela :)

a dajcie coś do windowsa

Dwie uwagi. Po pierwsze, każdy model sprzętu ma inny pobór mocy. 13W u jednego to mało, u drugiego - niekoniecznie. Dlatego zawsze przydałaby się informacja, na jakim sprzęcie uzyskany wynik. Po drugie, warto wyładować moduły do nieużywanych urządzeń (a obsługę urządzeń mieć w modułach). Trochę jest o tym napisane (usb i wifi), ale dotyczy także innych modułów, np. karty ethernetowej. Szczególnie gigabitowe potrafią brać sporo prądu.

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
7
x
r
W
C
k
f
n
5
9
Enter the code without spaces and pay attention to upper/lower case.