|
Duży pobór energii z baterii przez laptopa
rogi555 - 24-05-2009 20:48
Witam!
Dotychczas korzystając z laptopa miałem go podłączonego do sieci elektrycznej jeżeli chodzi o zasilanie, więc nie bardzo mnie interesowało ile pobiera prądu. Kiedy jednak musiałem go odłączyć i pracować na Debianie z baterii, spotkała mnie niemiła niespodzianka. Otóż po czterdziestu minutach zabrakło energii i musiałem znowu podłączyć kabel. Pod Windowsem energii starcza na dwie godziny pracy. Trochę poszukałem na temat oszczędzania energii i dowiedziałem się, że warto zainstalować program powertop. Tak też zrobiłem i po wydaniu takiej komendy w konsoli, dowiedziałem się tego:
Cn Avg residency P-states (frequencies) C0 (CPU aktywny) ( 6,1%) 1,91 GHz 100,0% polling 0,0ms ( 0,0%) 1,80 GHz 0,0% C1 2,9ms (93,9%) 1,60 GHz 0,0% 800 MHz 0,0%
Wakeups-from-idle per second : 318,4 interval: 5,0s szacowanie użycia energii ACPI jest niedostępne
Top causes for wakeups: 40,6% (296,8) audacious : hrtimer_start_range_ns (hrtimer_wakeup) 16,5% (120,8) firefox-bin : hrtimer_start_range_ns (hrtimer_wakeup) 13,8% (100,6) <interrupt> : eth0 11,4% ( 83,2) <kernel core> : hrtimer_start_range_ns (tick_sched_timer) 6,4% ( 47,0) <interrupt> : HDA Intel 3,7% ( 27,0) <kernel IPI> : Rescheduling interrupts
Podpowiedź: włącz zarządzanie zasilaniem łącza SATA ALPM przez: echo min_power > /sys/class/scsi_host/host0/link_power_management_policy lub naciśnij klawisz S.
Po wpisaniu
powertop -d
natomiast, z wyłączonymi wszystkimi programami (oprócz konsoli i conkyego) dostaję takie coś:
PowerTOP 1.10 (C) 2007, 2008 Intel Corporation
Zbieranie danych przez 15 sekund
Cn Avg residency C0 (CPU aktywny) ( 1,9%) polling 0,0ms ( 0,0%) C1 12,0ms (98,1%) P-states (frequencies) 1,91 GHz 100,0% 1,80 GHz 0,0% 1,60 GHz 0,0% 800 MHz 0,0% Wakeups-from-idle per second : 81,7 interval: 15,0s szacowanie użycia energii ACPI jest niedostępne Top causes for wakeups: 53,2% (100,7) <interrupt> : eth0 17,7% ( 33,5) <kernel core> : hrtimer_start_range_ns (tick_sched_timer) 5,3% ( 10,1) <interrupt> : acpi 5,3% ( 10,0) <interrupt> : b43 3,5% ( 6,5) <kernel IPI> : Rescheduling interrupts 2,6% ( 5,0) <kernel core> : hrtimer_start (tick_sched_timer) 1,8% ( 3,5) <interrupt> : ahci 1,5% ( 2,9) USB device usb2 : EHCI Host Controller (Linux 2.6.29.3 ehci_hcd) 1,0% ( 1,9) hald-addon-usb- : schedule_timeout (process_timeout) 1,0% ( 1,9) <interrupt> : ohci_hcd:usb1 1,0% ( 1,8) gnome-terminal : hrtimer_start_range_ns (hrtimer_wakeup) 0,8% ( 1,5) USB device usb1 : OHCI Host Controller (Linux 2.6.29.3 ohci_hcd) 0,6% ( 1,1) <kernel core> : schedule_delayed_work_on (delayed_work_timer_fn) 0,5% ( 1,0) ifconfig : queue_delayed_work (delayed_work_timer_fn) 0,5% ( 1,0) conky : hrtimer_start_range_ns (hrtimer_wakeup) 0,5% ( 1,0) fluxbox : hrtimer_start_range_ns (hrtimer_wakeup) 0,3% ( 0,5) cpufreqd : schedule_timeout (process_timeout) 0,2% ( 0,5) phy0 : ieee80211_sta_work (ieee80211_sta_timer) 0,2% ( 0,5) cpufreqd : hrtimer_start (it_real_fn) 0,2% ( 0,4) <interrupt> : ehci_hcd:usb2 0,2% ( 0,4) USB device 1-9 : Fingerprint Sensor () 0,2% ( 0,4) USB device 1-3 : HP Integrated Module (Broadcom Corp) 0,2% ( 0,4) USB device 2-4 : HP Webcam (SuYin) 0,2% ( 0,3) <kernel core> : enqueue_task_rt (sched_rt_period_timer) 0,1% ( 0,3) <kernel IPI> : TLB shootdowns 0,1% ( 0,3) <kernel module> : neigh_table_init_no_netlink (neigh_periodic_timer) 0,1% ( 0,2) init : hrtimer_start_range_ns (hrtimer_wakeup) 0,1% ( 0,2) wicd-monitor : hrtimer_start_range_ns (hrtimer_wakeup) 0,1% ( 0,1) <kernel module> : sta_info_start (sta_info_cleanup) 0,1% ( 0,1) <kernel core> : neigh_table_init_no_netlink (neigh_periodic_timer) 0,1% ( 0,1) ssh-agent : hrtimer_start_range_ns (hrtimer_wakeup) 0,1% ( 0,1) <kernel core> : ehci_work (ehci_watchdog) 0,1% ( 0,1) <kernel module> : usb_hcd_poll_rh_status (rh_timer_func) 0,0% ( 0,1) <interrupt> : PS/2 keyboard/mouse/touchpad 0,0% ( 0,1) Xorg : hrtimer_start_range_ns (hrtimer_wakeup) 0,0% ( 0,1) phy0 : queue_delayed_work (delayed_work_timer_fn) 0,0% ( 0,1) <kernel core> : page_writeback_init (wb_timer_fn) 0,0% ( 0,1) ifconfig : nv_open (nv_do_stats_poll) 0,0% ( 0,1) rsyslogd : hrtimer_start_range_ns (hrtimer_wakeup) 0,0% ( 0,1) <kernel module> : <f8172800> (inet_frag_secret_rebuild) 0,0% ( 0,1) <kernel core> : addrconf_verify (addrconf_verify) 0,0% ( 0,1) sh : start_this_handle (commit_timeout) 0,0% ( 0,1) <kernel core> : neigh_add_timer (neigh_timer_handler) 0,0% ( 0,1) hald : hrtimer_start_range_ns (hrtimer_wakeup) 0,0% ( 0,1) hald-addon-usb- : hrtimer_start_range_ns (hrtimer_wakeup) 0,0% ( 0,1) USB device 1-6 : USB RECEIVER (Logitech)
A USB device is active 100,0% of the time: USB device 1-6 : USB RECEIVER (Logitech)
Podpowiedź: włącz zarządzanie zasilaniem łącza SATA ALPM przez: echo min_power > /sys/class/scsi_host/host0/link_power_management_policy lub naciśnij klawisz S.
Recent USB suspend statistics Active Device name 0,1% USB device 1-9 : Fingerprint Sensor () 100,0% USB device 1-6 : USB RECEIVER (Logitech) 0,1% USB device 1-3 : HP Integrated Module (Broadcom Corp) 0,0% USB device 2-4 : HP Webcam (SuYin) 0,9% USB device usb2 : EHCI Host Controller (Linux 2.6.29.3 ehci_hcd) 100,0% USB device usb1 : OHCI Host Controller (Linux 2.6.29.3 ohci_hcd)
Na forach przeczytałem, że aby powyłączać niektóre niepotrzebne rzeczy, należy wciskać literki na klawiaturze, które podpowiada program. U mnie niewiele to pomaga. Słyszałem też, że można stworzyć skrypt, który będzie uruchamiany przy starcie systemu, i ten skrypt będzie wyłączał niepotrzebne rzeczy. Niestety nie wiem jak to zrobić.
Innym problemem jest to, jak komputer zachowuje się po odłączeniu z gniazdka. Otóż wifi przestaje działać (nie ma internetu), sypie się też conky (znika z pulpitu). Kiedy podczas danej sesji odłączę komputer od gniazdka sieci elektrycznej, a później z powrotem go podłączę, nadal są problemy. Podczas wyłączania, kiedy z graficznego trybu przechodzi znowu do konsoli gdzie wszystko jest pokazane jak po kolei zamyka się system, cały czas sypie błędami:
b43-phy0: DMA Fatal Error
Nie idzie tego procesu przerwać - informuje o błędach w nieskończoność, nie reaguje na Ctrl+C ani na przycisk włączania komputer. Trzeba go wówczas zrestartować.
Nie wiem, co począć. Podam może parametry techniczne komputera: Laptop HP dv6500ew Procesor: AMD Turion 64 X2 Karta grafiki: NVIDIA GeForce 8400GS to chyba te ważniejsze. Reszta z lspci:
00:00.0 RAM memory: nVidia Corporation MCP65 Memory Controller (rev a3) 00:01.0 ISA bridge: nVidia Corporation MCP65 LPC Bridge (rev a3) 00:01.1 SMBus: nVidia Corporation MCP65 SMBus (rev a1) 00:01.3 Co-processor: nVidia Corporation MCP65 SMU (rev a1) 00:02.0 USB Controller: nVidia Corporation MCP65 USB Controller (rev a3) 00:02.1 USB Controller: nVidia Corporation MCP65 USB Controller (rev a3) 00:06.0 Ethernet controller: nVidia Corporation MCP65 Ethernet (rev a3) 00:07.0 Audio device: nVidia Corporation MCP65 High Definition Audio (rev a1) 00:08.0 PCI bridge: nVidia Corporation MCP65 PCI bridge (rev a1) 00:09.0 IDE interface: nVidia Corporation MCP65 IDE (rev a1) 00:0a.0 IDE interface: nVidia Corporation MCP65 SATA Controller (rev a3) 00:0b.0 PCI bridge: nVidia Corporation Device 045b (rev a1) 00:0c.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1) 00:0d.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1) 00:0e.0 PCI bridge: nVidia Corporation MCP65 PCI Express bridge (rev a1) 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 03:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 02) 05:00.0 VGA compatible controller: nVidia Corporation GeForce 8400M GS (rev a1) 07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05) 07:05.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22) 07:05.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12) 07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12) 07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
Proszę o jakieś podpowiedzi i wytłumaczenie jak co po kolei robić. Będę bardzo wdzięczny za każdą pomoc.
ponton - 24-05-2009 21:59
Czy masz zainstalowany pakiet laptop-mode-tools?
rogi555 - 24-05-2009 22:01
Tak, mam zainstalowany ten pakiet, ale nie wiem jak sie go wlacza...
ponton - 24-05-2009 22:05
Ale po co go wyłączać? Myślałem, że go brakuje. ;)
rogi555 - 24-05-2009 22:11
No mam go zainstalowanego, a myślałem, że jak się go włączy to coś daje, albo się go jakoś konfiguruje wtedy... Jestem w tym zielony jak widać.
0dd - 24-05-2009 22:32
1,91 GHz 100,0% 1,80 GHz 0,0% 1,60 GHz 0,0% 800 MHz 0,0%
Zainstaluj cos do skalowania czestotliwosci procesora, np pakiet "cpufrequtils".
rogi555 - 24-05-2009 23:00
Mam ten pakiet. Nie wiem tylko co zrobić, żeby faktycznie skalował...
0dd - 24-05-2009 23:18
Na przyklad w ten sposob: # cpufreq-set -g ondemand
rogi555 - 25-05-2009 20:23
Ok, dziękuję.
Jednak nadal nie rozwiązałem problemu z brakiem stabilności po odłączeniu zasilania...
Jakieś pomysły?
[ Dodano: 2009-07-21, 20:14 ] Ok, już wiem co zrobić, żeby po odłączeniu kabelka system nadal działał. Poniżej małe HOWTO:
Okazuje się, że aby laptop-mode mógł wkroczyć do akcji, należy o tym "poinformować ACPI", które domyślnie trochę niczym pies ogrodnika nie pozwola laptop-mode nic zrobić z zarządzaniem energią. Aby dać znać ACPI, że będziemy korzystać z laptop-mode-tools należy dodać do pliku
/etc/default/acpi-support
na samym końcu wkleić linijkę
ENABLE_LAPTOP_MODE=true
Po tej operacji (oczywiście jeśli w /etc/laptop-mode/laptop-mode.conf włączyliśmy program laptop-mode-tools) zajmie się on zarządzaniem energii. W moim przypadku zrobił to na tyle dobrze, że mogę pracować na baterii. Co mnie niepokoi, to, że czas pracy jest dość krótki, nie dobija nawet do godziny. Myślę jednak, że to wina nie najmłodszej już, półtoraletniej baterii oraz nie powyłączanych niektórych funkcji (np. czas pracy HP Webcam czy Fingerprint sensora wynosi 100%, podczas gdy w ogóle z nich nie korzystam)
Swoją drogą ktoś kto wie coś na temat oszczędzania energii, mógłby coś tu napisać jakie skrypty startowe należy stworzyć, żeby powyłączać HW Webcamy i inne takie ;)
Pozdrawiam
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|