11 obserwujących
43 notki
54k odsłony
  962   1

Producent / sprzedawca (obecnie) mówią o 20h na baterii, ja mam nawet prawie 36h

Co łączy drukarkę Mera D-100M z lat 80-tych XX-wieku i nowoczesnego laptopa z 2020 roku?

O tym też dzisiaj będzie, wpis jednak chciałbym rozpocząć od tego obrazka:

image

Można? Można.

Teoretycznie notebookcheck.net testował kiedyś urządzenie, które w ich teście osiągnęło ok. 59h. Piszę teoretycznie, gdyż w praktyce (biorąc pod uwagę możliwości energetyczne obecnych systemów) takie wyniki w praktyce można chyba uzyskać tylko:

  • podczas pracy z zewnętrznym monitorem (ekran komputera jest cały czas wyłączony)
  • przez chwilę po odłączeniu ładowarki (stąd pochodzi mój zrzut ekranu)

Czy tak czy inaczej, cały czas próbuję wycisnąć co nieco z Hyperbooka L14 pod Ubuntu 21.04. System obecnie wskazuje mi na to, że bateria trochę się „rozruszała” i zamiast deklarowanych 73.9 Wh ma 74.6 Wh. Zrobiłem kilka ustawień:

Zmniejszenie ilości zapisów na dysku

System był instalowany z szyfrowaniem (patrz artykuł) i po instalacji miał plik wymiany, który wyłączyłem:

sudo swapoff -a
sudo rm /swapfile


i usunąłem wpis z pliku /etc/fstab

Następnie wyłączyłem modyfikację czasów dostępu do plików i katalogów, i włączyłem TRIM - w pliku /etc/fstab dodałem opcje

noatime,nodiratime,discard

do głównego systemu plików.

Katalogi /tmp i /var/tmp też przeniosłem do RAM - patrz artykuł (na każdy wystarcza spokojnie 512 MB)

Kolejną opcją była deaktywacja serwera drukowania i dziennika systemowego:

sudo systemctl disable rsyslog
sudo systemctl disable cups

i dodanie

Storage=none

do pliku /etc/systemd/journald.conf

Możnaby pójść dalej, ale mi się nie chciało (nawiasem mówiąc, popularne dystrybucje Linuxa z logami i monitorowaniem niebezpiecznie idą w stronę Windows)

Wykorzystanie opcji modułów jądra

We wpisie "Sprzęt i soft, który żyją własnym życiem" opisywałem włączanie trybu D3 dla poszczególnych urządzeń PCI urządzenia. Zaczynałem tam od wydania komendy, która wypisała mi ich listę:

sudo lspci -vvv

Można tam zobaczyć nazwy modułów jądra, które zostały załadowane. Dla każdego z nich można sprawdzić listę opcji, np.

modinfo -p i915

Na tej podstawie stworzyłem listę, którą dodałem w pliku /etc/default/grub do opcji GRUB_CMDLINE_LINUX. Potem jeszcze tylko

sudo update-grub

restart i mogłem już przystąpić do testów.

Początkowo moja lista wyglądała następująco:

GRUB_CMDLINE_LINUX="i915.enable_fbc=1 i915.enable_dc=4 i915.enable_psr=1 i915.enable_dpcd_backlight=1 snd_hda_intel.power_save=1 snd_hda_intel.power_save_controller=true iwlwifi.power_save=true iwlwifi.led_mode=3"

Uzyskałem wtedy niewidoczność karty Wifi i dźwiękowej, i brak jakichś specjalnych różnic (może nawet pogorszenie). Metodą prób i błędów uzyskałem wersję ostateczną:

GRUB_CMDLINE_LINUX="i915.enable_fbc=1 i915.enable_dc=4 i915.enable_psr=1"

Mikrokod do procesora

Zauważyłem, że nie jest najwyraźniej ładowany, a że lubię życie na krawędzi (just joking)... w pliku /etc/modprobe.d/intel-microcode-blacklist.conf wystarczyło odkomentować linijkę

blacklist microcode

Tuxedo

W notce "W poszukiwaniu urządzenia doskonałego…" pisałem o instalacji aplikacji od firmy Tuxedo, która m.in. pozwala na kontrolę prędkości wentylatorów (do tego włącza kombinację Fn+F1 do wyłączania touchpada, wyłącza kamerę i robi kilka innych rzeczy). Zarzucono mi, że wspominam o instalowaniu aplikacji podejrzanych (patrz moja polemika)... w międzyczasie zauważyłem m.in. to, że chociażby włączenie odpowiedniej usługi wydaje się bardzo szkodliwe dla czasu pracy na baterii (usługa jest dosyć energożerna, a zgłaszanie usterek jest średnio skuteczne na GitHub).

Na chwilę obecną wspomnianą aplikację mam wyłączoną, ale zainstalowaną:

wystarczyło wydać komendy

sudo systemctl stop tccd

sudo systemctl mask tccd

i w pliku /etc/systemd/system/tccd-sleep.service mieć linijki

ExecStart=/bin/bash -c "systemctl stop tccd"
ExecStop=/bin/bash -c "(systemctl start tccd; systemctl stop tccd)"

(chciałem mieć pewność, że kamera się nie włączy; pewnie można to zrobić lepiej)

Limity procesora

Można tu wyróżnić zarówno limity energetyczne (ilość W, która może być zużywana), jak i prędkościowe. O ustawianiu tych pierwszych wspominałem w notce "W poszukiwaniu urządzenia doskonałego…", w drugim przypadku nie chciałem limitować maksymalnej prędkości, i wystarczało mi ustawienie trybu oszczędzania zamiast pełnej prędkości, więc użyłem

sudo cpupower frequency-set --governor powersave

(uwaga: aplikacja od Tuxedo nie obsługuje jeszcze powersave, i warto wyłączyć opcję dotyczącą procesora w opcjach głównych)

Wersja ostateczna

Pomyślałem, że zbiorę te wszystkie swoje ustawienia w jeden skrypt, i będę go uruchamiał po starcie systemu i wybudzeniu z trybu standby. Treść skryptu:

# przy XWindows można zmieniać gammę

xgamma -rgamma 0.7 -ggamma 0.7 -bgamma 0.7

# włączam usługę (ona mi ustawia kamerę), wyłączam i na wszelki wypadek jeszcze upewniam, że jest nieaktywna

Lubię to! Skomentuj5 Napisz notkę Zgłoś nadużycie

Więcej na ten temat

Komentarze

Inne tematy w dziale Technologie