Dobrobyt ogłupia
Zżymałem się ostatnio na sprawność mojego laptopa, a jak zwykle poszło o błahostki – włączyłem sobie przeróżne miodne dla oka dodatki w systemie. Ot z próżności – zapragnąłem mieć przeźroczyste dekoracje okien (banał), z rozmytą prześwitującą spod spodu treścią (Emerald) i innymi usprawnieniami niewiele wnoszącymi do systemu, lecz poprawiającymi egoistyczne samopoczucie podczas poruszania się między aplikacjami.
Jak już to wszystko pokonfigurowałem (bez dotykania konsoli!), okazało się, że laptop/system stracił na responsywności. Tego było trochę za wiele, bo w końcu CoreDuo2 1.67GHz, 1GB RAMu oraz Nvidia jakaś tam ze swoją pamięcią to chyba powinno działać sprawnie, do kroścet.
I wtedy rzucił mi się w oko szczegół, który przyjąłem za fakt oczywisty i stały – na panelu figuruje sobie aplet informujący o aktualnej częstotliwości procesora. I w zależności od obciążenia, częstotliwość się zmienia – znacie to? Znacie. No to posłuchajcie. O skalowanie częstotliwości pracy procesora w Linuksie pokruszono niejedną kopie (kopia od kawałka zaostrzonego drąga) i długo była to funkcjonalność wyczekiwana i upragniona przez wielu. Jak się już pojawiła, okazało się co opisałem powyżej. Skalowanie procesora obniża sprawność działania systemu. ‘No, ale odkrycie’ machną ręką bardziej zorientowani. I zgodzę się z nimi. Ale gdzie tkwi trick w całości tego wywodu? Otóż, jeżeli laptop jest zasilany z kabelka, a nie z baterii, na cóż mi oszczędzanie mocy procesora. Zapłacę te parę gorszy miesięcznie więcej, ale nich mi komputer działa jak na XXI wiek przystało. Szybki wygląd w preferencje zasilania, jak też apletu regulującego częstotliwość procesora ujawnia przykrą prawdę. Nigdzie tam nie znajdziemy oddzielnego profilu dla przypadku zasilania stałego i zasilania z baterii. I co, tyle lat rozwoju i wszystko na marne?
Po poszukiwaniach jakiegoś GUI, musiałem się przeprosić z konsolą i zainstalować pakiet cpufreqd (sudo apt-get install cpufreqd). Program to demonik sprawnie wykrywający, która elektrownia śle nam prąd. W przypadku przejścia na baterię, uruchomi odpowiedni profil modyfikujący politykę sterownia procesorem, jak i jego częstotliwość. Wszystko znajdziemy w /etc/cpufreqd.conf. W moim przypadku, profile zapisane w tym pliku konfiguracyjnym pokrywały się z moimi oczekiwaniami, jedne co zmieniłem, to dla reguły o nazwie ‘name=AC Off – High Power’ politykę z ‘policy=Performance Low’ na ‘policy=Powersave High’.
Jest o wiele lepiej, laptop co prawda sprawniej ogrzewa mi kolana (co w zimowe wieczory docenię), ale okazało się, że mam szybki system i szybkiego laptopa. W ten sposób uniknąłem sideł marketingu. Byle do wiosny, jak się ociepli zmienię reguły…
@Tomahawk
To prawda, na stacjonarnym komputerze tego problemu aż tak dotkliwie nie odczuwam. Jednak na laptopie było to denerwujące. Dlatego zdecydowałem się wyłączać (cpufreqd) skalowanie podczas pracy na kablu zasilającym.