Manjaro - optymalne ustawienia zasilania
01.10.2013 | aktual.: 21.10.2013 11:47
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-ucode
Dodaj 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/grub
W linii:
GRUB_CMDLINE_LINUX=""
pomiędzy znakami cudzysłowu wpisz odpowiednie flagi:
Flagi GRUB - dla nowszych modeli laptopów
INTEL - standardowe
pcie_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
INTEL - jeżeli nie działa kontrola podświetlania matrycy
pcie_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=vendor
AMD/NVIDIA - standardowe ustawienia
pcie_aspm=force acpi_osi='!Windows 2012' acpi_enforce_resources=lax
AMD/NVIDIA - jeżeli nie działa kontrola podświetlania matrycy
pcie_aspm=force acpi_osi='!Windows 2012' acpi_enforce_resources=lax acpi_backlight=vendor
AMD - włączenie zaawansowanego zarządzania energią kart graficznych AMD Radeon (kernel 3.11 lub nowszy)
radeon.dpm=1
Wyłączenie usypiania portów USB
usbcore.autosuspend=-1
Flagi GRUB - dla starszych modeli laptopów
INTEL - standardowe
pcie_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
INTEL - jeżeli nie działa kontrola podświetlania matrycy
pcie_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=vendor
AMD/NVIDIA - standardowe ustawienia
pcie_aspm=force acpi_osi=Linux acpi=force acpi_enforce_resources=lax
AMD/NVIDIA - jeżeli nie działa kontrola podświetlania matrycy
pcie_aspm=force acpi_osi=Linux acpi=force acpi_enforce_resources=lax acpi_backlight=vendor
AMD - włączenie zaawansowanego zarządzania energią kart graficznych AMD Radeon (kernel 3.11 lub nowszy)
radeon.dpm=1
Wyłączenie usypiania portów USB
usbcore.autosuspend=-1
Zapisujemy 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.bak
Edytuj plik konfiguracyjny TLP:
sudo gedit /etc/default/tlp
Zmień kolejno zmienne na:
TLP_ENABLE=1
Tylko dla CPU Intel z P‑state
CPU_SCALING_GOVERNOR_ON_AC=performance CPU_SCALING_GOVERNOR_ON_BAT=powersave
Tylko dla CPU Intel z Turbo Boost (procesory z serii i5/i7)
CPU_BOOST_ON_AC=1 CPU_BOOST_ON_BAT=0
Zapisz 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.rules
Wklej 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.