Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Manjaro - optymalne ustawienia zasilania

Zapanować nad zużyciem energii w Manjaro

Domyślne ustawienia zasilania z pakietu laptop-tools wykorzystywane w Manjaro pozostawiają wiele do życzenia i w znikomy sposób oszczędzają energię. Odpowiednie wpisy w GRUB aktywują pełne ACPI, zaawansowane zarządzanie energią dla układów Intela oraz oszczędzanie energii szyn PCI. Dodatkowo po instalacji kernela z linii 3.11 można aktywować przez odpowiedni wpis w GRUB dynamiczne zarządzanie energią dla kart graficznych AMD Radeon - DPM. Deamon Thermald jest przeznaczony dla procesorów Intel. Usługa dynamicznie zarządza chłodzeniem procesora - ciszej i chłodniej. TLP to prosty w konfiguracji deamon zarządzający zużyciem energii w laptopach - mniej zaawansowany odpowiednik skryptu APM (skrypt zarządzania energią dla Ubuntu opisany tutaj).

Ważne

  • Upewnij się, że masz zainstalowany kernel z linii 3.11
  • Upewnij się, że masz zainstalowany Microcode dla swojego procesora
  • Upewnij się, że masz dodane odpowiednie wpisy w pliku konfiguracyjnym GRUB
  • Upewnij się, że masz zainstalowane wszystkie aktualizacje

Instalacja kernela 3.11.x

W terminalu wykonaj polecenie:sudo mhwd-kernel -i linux311

Instalacja Microcode dla procesora Intel

W terminalu wykonaj polecenie:sudo pacman -S intel-ucodeDodaj moduł microcode do listy modułów jądra ładowanych w czasie uruchamiania systemu:su -c 'echo "microcode" >> /etc/modules-load.d/microcode.conf'

Dodawanie flag GRUB

W terminalu wykonaj polecenie:sudo gedit /etc/default/grubW linii:GRUB_CMDLINE_LINUX=""pomiędzy znakami cudzysłowu wpisz odpowiednie flagi:

Flagi GRUB - dla nowszych modeli laptopów

INTEL - standardowepcie_aspm=force acpi_osi='!Windows 2012' acpi=force acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1INTEL - jeżeli nie działa kontrola podświetlania matrycypcie_aspm=force acpi_osi='!Windows 2012' acpi=force acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 drm.vblankoffdelay=1 acpi_backlight=vendorAMD/NVIDIA - standardowe ustawieniapcie_aspm=force acpi_osi='!Windows 2012' acpi_enforce_resources=laxAMD/NVIDIA - jeżeli nie działa kontrola podświetlania matrycypcie_aspm=force acpi_osi='!Windows 2012' acpi_enforce_resources=lax acpi_backlight=vendorAMD - włączenie zaawansowanego zarządzania energią kart graficznych AMD Radeon (kernel 3.11 lub nowszy)radeon.dpm=1Wyłączenie usypiania portów USBusbcore.autosuspend=-1

Flagi GRUB - dla starszych modeli laptopów

INTEL - standardowepcie_aspm=force acpi_osi=Linux acpi=force acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1INTEL - jeżeli nie działa kontrola podświetlania matrycypcie_aspm=force acpi_osi=Linux acpi=force acpi_enforce_resources=lax i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 drm.vblankoffdelay=1 acpi_backlight=vendorAMD/NVIDIA - standardowe ustawieniapcie_aspm=force acpi_osi=Linux acpi=force acpi_enforce_resources=laxAMD/NVIDIA - jeżeli nie działa kontrola podświetlania matrycypcie_aspm=force acpi_osi=Linux acpi=force acpi_enforce_resources=lax acpi_backlight=vendorAMD - włączenie zaawansowanego zarządzania energią kart graficznych AMD Radeon
(kernel 3.11 lub nowszy)radeon.dpm=1Wyłączenie usypiania portów USBusbcore.autosuspend=-1Zapisujemy zmiany w pliku. Wykonujemy w terminalu polecenie:sudo update-grub

Instalacja TLP

W terminalu wykonaj polecenie:sudo pacman -S smartmontools iw

yaourt -S tlp

Konfiguracja usługi TLP

Stwórz kopię zapasową domyślnej konfiguracji TLP:sudo cp /etc/default/tlp /etc/default/tlp.bakEdytuj plik konfiguracyjny TLP:sudo gedit /etc/default/tlpZmień kolejno zmienne na:TLP_ENABLE=1Tylko dla CPU Intel z P-stateCPU_SCALING_GOVERNOR_ON_AC=performance CPU_SCALING_GOVERNOR_ON_BAT=powersaveTylko dla CPU Intel z Turbo Boost (procesory z serii i5/i7)CPU_BOOST_ON_AC=1 CPU_BOOST_ON_BAT=0Zapisz zmiany w pliku.
Uruchom deamona TLP:su -c "systemctl enable tlp-sleep.service && systemctl enable tlp && systemctl start tlp"

Instalacja Linux Thermal Daemon (tylko dla CPU Intel)

W terminalu wykonaj polecenie:yaourt -S thermald

Konfiguracja usługi thermald

Uruchom deamona thermald:su -c "systemctl enable thermald.service && systemctl start thermald.service"

Dynamiczna zmiana planisty I/O dysków

Domyślnym planistą dysku jest CFQ. Wyższą wydajność odczytu/zapisu dla dysków SSD ma planista noop. Można zautomatyzować proces zmiany planisty I/O dysku w zależności, czy dysk jest obrotowy (HDD) czy nie (SSD).
Stwórz nowy plik:sudo gedit /etc/udev/rules.d/60-schedulers.rulesWklej do niego kod:# set deadline scheduler for non-rotating disks ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="noop" # set cfq scheduler for rotating disks ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="cfq"Zapisz zmiany w pliku. Uruchom ponownie komputer.

Podsumowanie

Poprzez zastosowanie odpowiednich dla mojego laptopa wpisów GRUB, zainstalowanie TLP oraz Thermald, zyskałem niski pobór energii w czasie na baterii (w okolicach 9 W), niską temperaturę procesora (45-48 stopni C. w stanie spoczynku, 56 stopni C. w stanie obciążenia) i wyższą wydajność w pracy na zasilaniu sieciowym.

Zachęcam do zapoznania się z dokumentacją TLP. Można dostosować usługę do własnych potrzeb.

Ważne linki

 

linux oprogramowanie porady

Komentarze

0 nowych
Frankfurterium   9 #1 02.10.2013 11:18

Ogólnie dzięki. Może wreszcie będzie się dało korzystać z otwartego sterownika do ATI. Teraz mam kupę lektury (bo nie widzi mi się na ślepo wklepywać konfiga jąderka i Grubego) ;-]

elzear   5 #2 02.10.2013 17:26

Kilka pytań.
1. acpi_osi='!Windows 2012' -- dlaczego akurat Windows 2012 a nie np. Linux bądź Windows 7?
2. usbcore.autosuspend=-1 -- u mnie przyniosło nienajlepszy skutek (ArchLinux) tzn. urządzenia w ogóle się nie włączały :) "usbcore.autosuspend=0" działa. Ale tu jest pies pogrzebany, moim zdaniem nie powinno się wyłączać tej opcji bo:
a). Jeśli masz kamerkę to jest ona ciągle włączona
b). Masz na mSATA mobile network - również go nie wyłącza
itd.
Więc nie widzę sensu wyłączania go z tego poziomu. Lepiej jest zadeklarować sobie samemu co ma nie być wyłączane. Np. w laptop mode tools sam możesz dodać opcje, jakie urządzenia mają być suspend'owane a jakie nie. Jeżeli nie suspenduje urządzeń, pobór mam w granicach 12W.
Korzystając właśnie z tego narzędzia, pobór na platwormie AMD mam w granicach 9W (przy przeglądaniu neta przez Wi-Fi - które nie ma włączonego Power Saving).

FadeMind   7 #3 02.10.2013 17:56

@elzear
acpi_osi='!Windows 2012' - zmienna odnosi się do nowych laptopów, płyt głównych z UEFI. To ustawienie (zamiast acpi_osi=Linux) uaktywnia w pełni ACPI - zarządzanie zasilaniem + pełne mapowanie klawiszy funkcyjnych w laptopach. Przykład z życia:

W KDE z ustawieniem acpi_osi=Linux nie działało poprawnie zarządzanie energią w laptopie - nie działało dynamiczne podświetlanie matrycy BAT/AC. Dopiero acpi_osi='!Windows 2012' aktywował w pełni ACPI i na baterii miałem podwietlenie matrycy 30 procent, a po podłączeniu zasilania od razu 100 procent.

usbcore.autosuspend=-1 zmienna wyłącza w pełni zarządzanie usypianiem urządzeń USB na poziomie kernela - jest to sposób na skróty. Oczywiście w laptop-mode-tools czy TLP można zrobić listę wyjątków (po adresie sprzętowym).

Zdarzało się u mnie to, że po włączeniu laptopa nie działał zupełnie HUB USB podpięty pod port USB 3.0 dopiero wyłączenie i włączenie laptopa ponownie rozwiązywało problem. Oczywiście każdy laptop ma inną konfigurację i nie wszystkie zmienne będą działać tak jak powinny.

Mogę oczywiście na poziomie BIOS-u wyłączyć WLAN, porty USB, kamerkę, bluetooth.

elzear   5 #4 02.10.2013 18:09

@FadeMind
"Mogę oczywiście na poziomie BIOS-u wyłączyć WLAN, porty USB, kamerkę, bluetooth."

Mi nie chodziło o całkowite wyłączenie, tylko uspanie. Wiem, że często są problemy z usypianiem urządzeń usb, ale właśnie po to podałem porównanie 3W róźnicy (u mnie). Jeżeli jest jakiś sprzęt który na suspend reaguje nie najlepiej to wtedy go whitelist'ujemy i gra gitara :)

acpi_osi='!Windows 2012' - Bardzo możliwe, że odnosi się to do nowych sprzętów, ja problemów nie zauważyłem w przypadku "Linux".

Ogólnie dobry poradnik :)

dragonn   10 #5 02.10.2013 22:01

Pytanie - a co robi acpi_enforce_resources=lax? Tego nie znam.

e X t 7 3   9 #6 02.10.2013 22:36

"Pytanie - a co robi acpi_enforce_resources=lax? Tego nie znam"

To wymuszenie "oldstylowego" zarządzania zasobami hwmon, a zatem sensorami: napięcia, temperatury, etc. W skrócie polega to na stosowaniu [odnośnie hwmon] stertowników kernela, a nie rozwiązań bazujących stricte na ACPI, jelsi ACPI jest "zbugowane" i nie działa prawidłowo. Zatem polega na wymuszaniu na kernelu "zgody", na diste do zasobów ACPI przez starsze sterowniki, gdy sterownik ACPI nie funkcjonuje - powoduje to jedynie komunikaty ostrzegawcze np:

ACPI Warning: 0x0000000000000600-0x0000000000000607 SystemIO conflicts with Region \HMOR 1 (20130517/utaddress-251)
ACPI: This conflict may cause random problems and system instability
ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver

Oczywiście to nie jest błąd tylko ostrzeżenie w stylu: jak by co to mówiliśmy ;)

  #7 07.10.2013 08:58

Mówisz o temperaturze i poborze mocy, ale fajnie jakbyś powiedział jakie wartości miałeś przed tym zabiegiem :)

  #8 11.10.2013 13:42

Dzięki.
Życie na baterii odczuwalnie (testów nie robiłem, na oko) się wydłużyło.

  #9 13.12.2013 11:18

Dobre informacje, niestety mój laptop (samsung r540,intel i3,ati radeon) nie chce współpracować w kwestii
kontroli podświetlania matrycy. Jest to niestety problem przy dłuższej pracy z komputerem.

marach-82   4 #10 22.12.2013 21:39

Nie wiem jak jest na archu ale na debianie tlp instaluje dużo niepotrzebnego badziewia np. exim4 (po co program pocztowy?). Jeżeli ktoś chce instalować ten program to koniecznie z argumentem --no-install-recommends czyli na systemach debianowych:

apt-get install --no-install-recommends tlp

a później doinstalować smartmontools.

marach-82   4 #11 25.12.2013 01:34

Intel P-state ma słabą wydajność, praktycznie jego ustawienie nie robi różnicy (poczytaj Phoronix). Poza tym działa tylko dla Sandy Bridge chyba, że coś się zmieniło.

marach-82   4 #12 29.12.2013 21:32

Poza tym zainstaluj sobie debiana z xfce i dodaj nowe jajko to zobaczysz co to znaczy wydajność, szybkość i niskie temperatury ;) Manjaro jest kiepskie, kolejna proteza jak ubuntu.

  #13 16.01.2014 21:08

Super, rozwiązanie w hp dv6 z i3 i ati działa idealnie, dobrze, że są tacy ludzie jak Ty ext73! Pozdro