Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2013-02-01 20:51:19

  dominbik - Członek DUG

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Linux - Oszczędzanie baterii na laptopie

Witam!
Postanowiłem utworzyć temat odnośnie oszczędzania baterii pod Linuxem, bo nigdzie nie widziałem ładnie wytłumaczonego tego w PL. Domyślnie Linux na baterii nie sprawdza się zbyt dobrze, ale są możliwości (niestety trochę poukrywane) aby to poprawić. Jak ktoś ma jakiekolwiek spostrzeżenia proszę pisać. Sukcesywnie będę aktualizował post i dodawał kolejne doświadczenia. Póki co;

1. Jeżeli nie korzystamy wyłączamy kartę graficzną i korzystamy z zintegrowanej od Intela;
-nVidia
http://wiki.debian.org/Bumblebee  (z tego co wiem można zainstalować sobie samo bbswitch). inne możliwości (wydają się gorsze);  https://github.com/Bumblebee-Project/Bumblebee/wiki … of-PM-methods
aby sprawdzić czy moduł działa prawidłowo można posłużyć się dmesg | grep bbswitch
jako ciekawostka; W Arch Linux i te nowsze jądra OOTB przez vgaswitcheroo potrafią "wyłączyć" nvidię, lecz nie do stanu D3Cold jak robi to bbswitch

-karty AMD (?proszę o pomoc jak tutaj to wygląda)



Większość środowisk powinno spokojnie zadowolić się kartą Intela. Już Core 2 Duo spokojnie radzi sobie z FullHD na youtube a do FullHD z dysku można użyć playera obsługującego vaapi - wtedy dekodowaniem zajmuje się GPU a procesor ma znacznie mniej roboty przez co też trochę zyskujemy, Tutaj jak to wygląda w przypadku Ivy Bridge;
http://img.pl/kFf.png -bez VAAPI
http://img.pl/lFf.png  -z VAAPI
(niektóre aplikacje jak np. xbmc mogą mieć problemy z korzystaniem przez VAAPI)

2.

Kod:

watch grep \"cpu MHz\" /proc/cpuinfo

Sprawdzamy czy cpufreq dynamicznie zarządza częstotliwością procesora. Pozwala to obniżyć temperaturę i oszczędzić baterię
http://wiki.debian.org/HowTo/CpuFrequencyScaling
Ustawienie ondemand utrzymuje zegary na najniższym poziomie i jeżeli potrzeba automatycznie podkręca. Mam tak zarówna na AC jak i baterii, nie zauważyłem by obniżało wydajność - z tego co widziałem Windows8 zachowuje się podobnie.


3. Instalujemy PowerTOP.
Podczas działania na baterii w zakładce "Overview" mamy szacowane użycie w Watach oraz statystyki dotyczące pojedynczych procesów/urządzeń. Możemy przeanalizować, które aplikacje/urządzenia generują najwięcej przerwań/wybudzeń(?) procesora oraz zużywają najwięcej energii. W zakładce Tunables pokazane są nasze obecne ustawienia dotyczące oszczędzania energii  - najlepiej żeby wszędzie było Good. Osobiście pozbierałem różne rzeczy z internetu i zrobiłem sobie taki oto skrypcik;
http://pastebin.com/raw.php?i=A7XhDPnV
Wymaga to jednak przystosowania do swojego sprzętu (np. nie każdy np. posiada bluetooth, watchdoga czy systemd) - poza tym nie ma w nim jeszcze akcji cofających w razie podłączenia zasilania. Po użyciu skryptu, we wszystkich wpisach w PowerTOP powinno być już GOOD (klawisz r odświeża w PowerTOP). Uniwersalnie można stworzyć regułkę w /etc/udev/rules.d/10-power.rules

Kod:

SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/ścieżka/do/skryptu/powersave battery"
SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/ścieżka/do/skryptu/powersave AC"

Aby skrypt odpalał się automatycznie po odcięciu/podłączeniu zasilacza.

4. w /etc/sysctl.conf można odkomentować sobie wpis
vm.laptop_mode = 5

5.w /etc/modprobe.d/modprobe.conf ustawienia odnośnie oszczędzania energii dla zintegrowanego Intela;

Kod:

options i915 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1

===INNE===

Kod:

cat /proc/interrupts

pozwala zobaczyć czy w przypadku kilku rdzeniowych procesorów przerwania są rozkładane na kilka rdzeni a nie tylko na jeden.
można próbować ratować się pakietem irqbalance, u mnie np. działa to dobrze Out of the box

Działania Turbo Boost nie widać w /proc/cpuinfo  można podejrzeć sobie np. za pomocą i7z

Kod:

zegrep CONFIG_HZ /proc/config.gz

Podczas Idle pozwala systemowi oszczędzić maksymalnie energię. To już zależy od jądra z tego co słyszałem im niższa wartość tym lepiej. Na Arch Linux jest 300, nie znalazłem opcji, aby ustawić to na dystrybucyjnym jądrze.

Kod:

cat /sys/module/pcie_aspm/parameters/policy

Jeżeli default albo powersave nie musimy nic zmieniać.


Aby ustawienia zadziałały również przy wybudzaniu z uśpienia/hibernacji trzeba skonfigurować /etc/pm/* ,a w przypadku Arch Linux i systemd można napisać sobie usługę;
http://pastebin.com/raw.php?i=7QnNMhdu
z tego co pamiętam np. na Archu regułki udeva nie są wykonywane przy wybudzaniu z uśpenia/hibernacji.

Generalnie dużo zależy też od środowiska i programów których używamy. Miałem średnio 240 wybudzeń procesora, wystarczyło, że wyłączyłem syndaemon, conky, parcellite i przy samym openboxie zesztło do 80-58.

Warto również zwrócić uwagę na parkowanie głowicy dysku. U mnie tylko hdparm -B254 /dev/sda jest w stanie pohamować nadmierne parkowanie - w przeciwnym razie parkuje dosłownie co chwila. Dlatego też na baterii myślę nad jakimś skryptem, który włączałby parkowanie tylko gdy laptop jest przenoszony. Wyłącznie parkowania, patrząc na wskazania hddtemp podniosło temperaturę dysku o ~2C - mam 8GB RAMu i ze względu na agresywny cache oraz lekki system mało ten dysk ma pracy - lecz w przypadku cięższych kiedyś temperatura skoczyła do 39C włączyłem parkowanie i momentalnie się unormowała. Eksperymentowałem z wartością -B120 - dysk w pewnym momencie całkowicie mi się wyłączył. Na dłuższą metę jednak gdy tylko chciałem coś zrobić włączał się z powrotem. Jeżeli coś wybudza dysk nawet jeżeli nic nie robimy można to sprawdzić za pomocą;
echo 1 > /proc/sys/vm/block_dump
dmesg | tail

Możliwe, że dysk mógłby być wyłączony nawet np. przy przeglądaniu internetu z pomocą aplikacji typu;
https://wiki.archlinux.org/index.php/Anything-sync-daemon
lecz to zabawa na dłuższą metę i wymaga więcej RAMu.

Widnows8 usypia kartę dźwiękową nawet na zasilaczu. W Linuxie na stałe możemy to zrobić np.
/etc/modprobe,d/karta.conf a tam "options snd_hda_intel power_save=1"


Nie miałem czasu ,ale po prostych testach;
Linux  - start z 90% naładowania ---->  5% naładowania   (kontroler baterii w moim laptopie ładuje dopiero jak poziom naładowania <90%)
2:31h. maksymalne podświetlenie, normalne przeglądanie internetu, słuchanie muzyki, kopiowanie, dekompresja kilku plików
Windows - start z 100% naładowania ----> 5% naładowania
2:29h. maksymalne podświetlenie, normalne przeglądanie internetu, słuchanie muzyki, chwile zabawy z FL Studio

Sądzę, że mit iż Linux nie potrafi zarządzać energią można odłożyć między bajki. Mam nadzieję, że z nowymi jądrami będzie jeszcze lepiej. Przez ten czas miałem podłączony Hub USB z diodą Led i myszką bezprzewodową. Na obu systemach wszystko działało okey, lecz nie przetestowałem czy Linux potrafi wyłączyć nieużywane porty a zostawić tylko ten jeden konkretny używany. Windows w przeciwieństwie do Linuxa parkował od czasu do czasu głowicę dysku.
Sory za wszelakie błędy, nie mam informatycznego wykształcenia. Jeżeli jakieś sugestie, pytania, dopowiedzenia to zapraszam do dyskusji. Rzeczy oczywiste jak ustawienie podświetlenia, czasu po którym następuje hibernacja/uśpienie itd... pominąłem specjalnie.


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#2  2013-02-01 20:55:25

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Linux - Oszczędzanie baterii na laptopie

To może artykuł na portal? :)

Offline

 

#3  2013-02-01 21:01:07

  dominbik - Członek DUG

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: Linux - Oszczędzanie baterii na laptopie

Tylko co wtedy gdy ktoś miałby swój sposób, jakąś informację, czy poradę? Tutaj łatwo można dopisać. Ale jestem otwarty i mogę zrobić jak chcecie ;p Szkoda, że w artykułach nie ma np. komentarzy.


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#4  2013-02-01 21:04:17

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Linux - Oszczędzanie baterii na laptopie

Moim zdaniem wystarczyłby dopisek żeby wszelkie pytania, spostrzeżenia itp. umieszczać w tym wątku. Ale decyzja oczywiście należy do Ciebie.

Offline

 

#5  2013-02-01 21:10:59

  dominbik - Członek DUG

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: Linux - Oszczędzanie baterii na laptopie

Okey, to jest wyjście. To jutro uzupełnię ile mogę skrypcik i te porady i można przenieść do artykułów a spostrzeżenia, pytania kierować tutaj.


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#6  2013-02-01 21:24:49

  azhag - Admin łajza

azhag
Admin łajza
Skąd: Warszawa
Zarejestrowany: 2005-11-15

Re: Linux - Oszczędzanie baterii na laptopie

dominbik napisał(-a):

Szkoda, że w artykułach nie ma np. komentarzy.

Celowo nie daliśmy takiej możliwości, bo wtedy mielibyśmy de facto dwa fora na utrzymaniu. „Normalne” tutaj i drugie na portalu — pod każdym tekstem byłaby sterta postów „u mnie to nie działa, pomocy”, „przy okazji, a jak zrobić coś w tym stylu, tylko...” i tak dalej. ;)


Błogosławieni, którzy czynią FAQ.
opencaching :: debian sources.list :: coś jakby blog :: polski portal debiana :: linux user #403712

Offline

 

#7  2013-02-01 21:25:25

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Linux - Oszczędzanie baterii na laptopie

Co do Vaapi i Intela:

Kod:

libva: VA-API version 0.32.0
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Intel i965 driver - 1.0.17
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :    VAEntrypointVLD
      VAProfileMPEG2Main              :    VAEntrypointVLD
      VAProfileH264Baseline           :    VAEntrypointVLD
      VAProfileH264Baseline           :    VAEntrypointEncSlice
      VAProfileH264Main               :    VAEntrypointVLD
      VAProfileH264Main               :    VAEntrypointEncSlice
      VAProfileH264High               :    VAEntrypointVLD
      VAProfileH264High               :    VAEntrypointEncSlice
      VAProfileVC1Simple              :    VAEntrypointVLD
      VAProfileVC1Main                :    VAEntrypointVLD
      VAProfileVC1Advanced            :    VAEntrypointVLD

Bardzo ładnie działa z XBMC, Kaffeine, Vlc etc.
IMHO jeśli nie planuje się grać w super wypasione gierki to nie warto kupować dodatkowej karty.
W miarę normalne typu HIB działają dobrze na Intelu HD, a odpada problem niepotrzebnego zużycia energii.

Warto tez powyłączać nieużywane urządzenia/porty w laptopie.

Karty AMD często da się wyłączyć w Biosie, ponoć nawet działa przełączanie na standardowych sterach. Tak piszą na forach Ubuntu.

Offline

 

#8  2013-02-01 21:54:59

  dominbik - Członek DUG

dominbik
Członek DUG
Zarejestrowany: 2011-07-25

Re: Linux - Oszczędzanie baterii na laptopie

@azhag teraz rozumiem.
@yossarian rzeczywiście sprawdziłem teraz xbmc z Ipla i działa okey. Wcześniej sprawdzałem na Polsat HD z weeb tv i chyba to było buforowanie.


http://img34.imageshack.us/img34/5092/zw9m.png http://img29.imageshack.us/img29/219/pibw.png

Offline

 

#9  2013-02-03 14:11:48

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Linux - Oszczędzanie baterii na laptopie

Ja mam wątpliwości co do CPUFreq
1) Jeśli się nie mylę Ondemand automatycznie ustawia sobie wartości, jednak jego misją jest wydajność
Tutaj bym zastosował Conservative (czy jakoś tak), którego priorytetem jest oszczędność baterii.
Ewentualnie, zrobienie skryptu Super-Powersaver, w którym CPUFreq działałby na PowerSaver, wtedy komputer działa straaasznie wolno, ale oszczędzanie jest

2) Bardzo fajną rzeczą pod Ubuntu, ale myślę, że da się przerobić pod Debiana - jest Touchpad-Indicator, jeśli mysz jest włączona, to wyłącza touchpad, dodatkowe oszczędzanie energii

3) Możesz zrobić tak, że jeśli ktoś używa internetu po kablu, to żeby Fifirifi automatycznie wyłączyło, to też oszczędzanie energii

Fervi

Ostatnio edytowany przez fervi (2013-02-03 15:58:31)

Offline

 

#10  2013-02-03 14:28:53

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Linux - Oszczędzanie baterii na laptopie

fervi napisał(-a):

Ja mam wątpliwości co do CPUFreq
1) Jeśli się nie mylę Ondemand automatycznie ustawia sobie wartości, jednak jego misją jest wydajność
Tutaj bym zastosował Conservative (czy jakoś tak), którego priorytetem jest oszczędność baterii.
Ewentualnie, zrobienie skryptu Super-Powersaver, w którym CPUFreq działałby na PowerSaver, wtedy komputer działa jak ArnVaker dojeżdżany przez stado dzikich murzynów, ale oszczędzanie jest

Misją Ondemand nie jest wydajność. Poczytaj sobie:
http://www.mjmwired.net/kernel/Documentation/cpu-freq/governors.txt

2) Bardzo fajną rzeczą pod Ubuntu, ale myślę, że da się przerobić pod Debiana - jest Touchpad-Indicator, jeśli mysz jest włączona, to wyłącza touchpad, dodatkowe oszczędzanie energii

Nie potrzeba do tego nic przerabiać z łubuntu. Wystarczy standardowy sterownik.

3) Możesz zrobić tak, że jeśli ktoś używa internetu po kablu, to żeby Fifirifi automatycznie wyłączyło, to też oszczędzanie energii

Jak ktoś używa po kablu to wyłącza wifi w Biosie.

Offline

 

#11  2013-02-03 14:41:00

  ArnVaker - Kapelusznik

ArnVaker
Kapelusznik
Skąd: Midgard
Zarejestrowany: 2009-05-06

Re: Linux - Oszczędzanie baterii na laptopie

fervi napisał(-a):

ArnVaker dojeżdżany przez stado dzikich murzynów

Uprzedzam, że następnym razem za tekst w tym stylu dostaniesz bana.

Offline

 

#12  2013-02-03 16:03:13

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Linux - Oszczędzanie baterii na laptopie

Jak ktoś używa po kablu to wyłącza wifi w Biosie.

Ja nie wyłączam, bo zdarza mi się gdzieś jechać, zresztą w zasadzie nikt nie wyłącza Wifi, oprócz nerdów z Debjana

Nie potrzeba do tego nic przerabiać z łubuntu. Wystarczy standardowy sterownik.

Tutaj chodzi o to, że dany produkt jest w łubudubuntu, a w Debianie nie, oczywiście można takie coś napisać i o taki skrypt chodzi

@yossarian
Nie chodziło mi o to, że ondemand stawia na pełną wydajność, ale jeśli mamy porównywać tryb konserwatywny i na żądanie, wychodzi, że konserwatywny bardziej na baterię się na daje

Fervi

Ostatnio edytowany przez fervi (2013-02-03 16:21:23)

Offline

 

#13  2013-02-03 17:02:05

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Linux - Oszczędzanie baterii na laptopie

fervi napisał(-a):

Ja nie wyłączam, bo zdarza mi się gdzieś jechać, zresztą w zasadzie nikt nie wyłącza Wifi, oprócz nerdów z Debjana

A jakieś dowody na to „nikt”? Czy to, jak zwykle, twoja wybujała fantazja znowu się odzywa?

Tutaj chodzi o to, że dany produkt jest w łubudubuntu, a w Debianie nie, oczywiście można takie coś napisać i o taki skrypt chodzi

Jak ktoś ma problem ze skopiowaniem kilku regułek udeva lub prostego skryptu, to używa graficznych narzędzi:

http://ompldr.org/taGM0Ng http://ompldr.org/taGM0aQ

albo (o ile nie ma IQ ferviego) po prostu:

Kod:

synclient touchpadoff=1

@yossarian
Nie chodziło mi o to, że ondemand stawia na pełną wydajność, ale jeśli mamy porównywać tryb konserwatywny i na żądanie, wychodzi, że konserwatywny bardziej na baterię się na daje

Naprawdę?

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.30 GHz
  available frequency steps: 2.30 GHz, 2.30 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz
  available cpufreq governors: powersave, conservative, userspace, ondemand, performance
  current policy: frequency should be within 800 MHz and 2.30 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz.

  cpufreq stats: 2.30 GHz:5,42%, 2.30 GHz:0,10%, 1.80 GHz:0,04%, 1.60 GHz:0,06%, 1.40 GHz:0,10%, 1.20 GHz:0,16%, 1000 MHz:0,25%, 800 MHz:94,87%  (37039)
analyzing CPU 1:
  …
  current CPU frequency is 800 MHz.
  cpufreq stats: 2.30 GHz:5,23%, 2.30 GHz:0,02%, 1.80 GHz:0,01%, 1.60 GHz:0,01%, 1.40 GHz:0,01%, 1.20 GHz:0,02%, 1000 MHz:0,04%, 800 MHz:94,66%  (11369)
analyzing CPU 2:
  …
  current CPU frequency is 800 MHz.
  cpufreq stats: 2.30 GHz:3,70%, 2.30 GHz:0,08%, 1.80 GHz:0,04%, 1.60 GHz:0,04%, 1.40 GHz:0,05%, 1.20 GHz:0,06%, 1000 MHz:0,08%, 800 MHz:95,95%  (16813)
analyzing CPU 3:
  …
  current CPU frequency is 800 MHz.
  cpufreq stats: 2.30 GHz:9,69%, 2.30 GHz:0,02%, 1.80 GHz:0,00%, 1.60 GHz:0,01%, 1.40 GHz:0,02%, 1.20 GHz:0,03%, 1000 MHz:0,04%, 800 MHz:95,19%  (11017)

Jak zwykle najwięcej masz do powiedzenia. Jak zwykle są to tylko wyssane z palca teorie.

Offline

 

#14  2013-02-03 17:16:58

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Linux - Oszczędzanie baterii na laptopie

Przeczytałem z twojego źródła, wychodzi na to, że Conservative to taki OnDemand, ale z ustawieniami bardziej na oszczędzanie energii.

Po drodze zajrzałem na internet i nie wiadomo, zresztą zakładając, że ondemand jest trybem domyślnym, musi oferować wysoką moc z racji tego, że Linux jest też na zwykłych komputerach, gdzie raczej energii się nie oszczędza

Fervi

Offline

 

#15  2013-02-03 17:22:19

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Linux - Oszczędzanie baterii na laptopie

A czytać umiesz?
95% czasu na najniższych ustawieniach to „wysoka moc z racji tego, że Linux jest też na zwykłych komputerach, gdzie raczej energii się nie oszczędza”?

Jak tak ci się podobają rozwiązania zawarte w Ubuntu to co robisz (poza wypisywaniem swoich wątpliwych mądrości) na forum Debiana?

Offline

 

#16  2013-02-03 17:44:33

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Linux - Oszczędzanie baterii na laptopie

2.5 Conservative
(...)This behaviour more suitable in a battery powered environment.(...)

Według mnie to oznacza, lepiej śmigać na baterii z tym, niż ondemand

Fervi

Offline

 

#17  2013-02-03 18:01:37

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Linux - Oszczędzanie baterii na laptopie

Ondemand jest bardziej elastyczne i dlatego jest domyślnie ustawione bo również korzysta z najniższych wartości, a gdy potrzeba mocy obliczeniowej (obciążenie powyżej 95%) ma się szybki dostęp do wyższych wartości.

Zazwyczaj różnica jest niewielka bo rzadko potrzeba pełnej mocy procesora, co było widać na moich wynikach.

Ja nie spierałem się o lepszość poszczególnych ustawień tylko z twoją argumentacją że Ondemand = pełna moc.

Offline

 

#18  2013-02-03 18:35:16

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Linux - Oszczędzanie baterii na laptopie

A raczej pełna moc to Maximum Power, czy jak to tam

Ale z tego co kiedyś czytałem Ondemand używa większe osiągi ma niż Conservative

Fervi

Offline

 

#19  2013-02-03 19:43:56

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Linux - Oszczędzanie baterii na laptopie

Do proca jest cpufreqd, działa, i ustawia się tam akcję per/program.

Kod:

egrep -v '#|^$' /etc/cpufreqd.conf 
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
verbosity=4
[/General]
[Profile]
name=On Demand High
minfreq=40%
maxfreq=100%
policy=ondemand
[/Profile]
[Profile]
name=On Demand Low
minfreq=20%
maxfreq=80%
policy=ondemand
[/Profile]
[Profile]
name=Performance High
minfreq=100%
maxfreq=100%
policy=performance
[/Profile]
[Profile]
name=Performance Low
minfreq=80%
maxfreq=80%
policy=performance
[/Profile]
[Profile]
name=Powersave High
minfreq=70%
maxfreq=70%
policy=powersave
[/Profile]
[Profile]
name=Powersave Low
minfreq=30%
maxfreq=65%
policy=powersave
[/Profile]
[Rule]
name=AC Rule
profile=Performance High
[/Rule]
 
[Rule]
name=AC Off - Low Battery
battery_interval=0-30
profile=Powersave Low
[/Rule]
[Rule]
name=AC Off - Medium Battery
battery_interval=30-70
profile=On Demand Low
[/Rule]
[Rule]
name=AC Off - High Power
battery_interval=70-100
profile=On Demand High
[/Rule]
[Rule]
name=CPU Too Hot
acpi_temperature=65-78
cpu_interval=50-100
profile=Performance Low
[/Rule]
[Rule]
name=Movie Watcher
programs=xine,mplayer,smplayer,vlc,make
battery_interval=0-100
acpi_temperature=0-65
profile=Performance High
[/Rule]

Wygląda na straszne lamerstwo, ale chodzi prawidłowo.

Do limitów proca i pamięci dla programów?
Cgroup wymiata w tym temacie, konfiguracja jest dość banalna.


Kod:

egrep -v '#|^$' /etc/cgroup/cgrules.conf 
*:/usr/lib64/firefox/firefox               cpu,memory,net_cls   users/firefox/
*:/usr/lib64/firefox/plugin-container      cpu,memory,net_cls   users/firefox/
*:/opt/firefox20/firefox                   cpu,memory,net_cls   users/firefox/
*:/opt/firefox20/plugin-container          cpu,memory,net_cls   users/firefox/
*:/opt/bin/skype                           cpu,memory,net_cls   voip/skype/
*:/opt/bin/skype2235                       cpu,memory,net_cls   voip/skype/
*:/usr/bin/pidgin                          cpu,memory,net_cls   users/pidgin/     
*:/usr/bin/akregator                       cpu,memory,net_cls   users/akregator/    
*:/usr/bin/liferea                         cpu,memory,net_cls   users/liferea/
*:/usr/bin/vlc                             cpu,memory,net_cls   users/vlc/
*:/usr/bin/mplayer                         cpu,memory,net_cls   users/mplayer/
*:/usr/bin/mplayer2                        cpu,memory,net_cls   users/mplayer/
*:/opt/google/chrome/chrome                cpu,memory,net_cls   users/chrome/
*:/usr/lib64/opera/opera                   cpu,memory,net_cls   users/opera/
*:/usr/bin/totem                           cpu,memory,net_cls   users/totem/
*:/usr/bin/tvtime                          cpu,memory           users/tvtime/
*:/usr/bin/kaffeine                        cpu,memory,net_cls   users/kaffeine/
*:/bin/cat                                 cpu,memory            system/cat/
*:/usr/lib64/thunderbird/thunderbird-bin   cpu,memory,net_cls   users/thunderbird/
*:/usr/bin/emerge                          cpu,memory,blkio,net_cls      system/emerge 
*:/usr/local/bin/fbsdkvm                   cpu,memory,blkio,net_cls      kvm/fbsd
*:/usr/bin/qemu-system-x86_64              cpu,memory,blkio,net_cls      kvm/fbsd
*:/usr/bin/filezilla                       net_cls      /users/wget/
*:/usr/bin/wget                            net_cls      /users/wget/
*:/usr/bin/axel                            net_cls      users/axel/
*:/usr/bin/curl                            net_cls      users/axel/

Konfiguracja limitów?
cgconfig u mnie nie chciał czytać własnego konfigu, ale da się to zrobić przy pomocy kilku poleceń basha:
http://jacekalex.sh.dug.net.pl/cgstart
Do tego demon cgred bardzo grzecznie dodaje procesy do odpowiednich grup, dowód:

Kod:

cat /proc/`pidof firefox`/cgroup
13:hugetlb:/
12:net_prio:/
11:perf_event:/
10:blkio:/
9:net_cls:/users/firefox
8:freezer:/
7:devices:/
6:memory:/users/firefox
5:cpuacct:/
4:cpu:/users/firefox
3:debug:/
2:cpuset:/

Ogólnie działa, kłopot jest z cgroup.memory, na razie przy próbie przekroczenia limitu program jest ubijany natychmiast, jeszcze nie wyczaiłem, jak przerobić to na miękkie ograniczenie typu soft.

Pozdrawiam
;-)

Ostatnio edytowany przez Jacekalex (2013-02-03 19:53:02)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)