Badajmy nasze maszyny!

Od ostatniego wpisu znowu sporo się zmieniło, głównie jeśli chodzi o konfigurację instancji Home Assistant. Najwazniejsza sprawa, to wymiana systemu na Ubuntu.

Niestety ducha wyzionął też telewizor, co w sumie z punktu widzenia bezpieczeństwa trochę i na dobre wyszło. Zapytacie pewnie dlaczego...

Przypalona zupka z dyni... czy coś się smaży w pokoju?

Któregoś dnia, w okolicy Halloween, moja wspaniała towarzyszka życia upichciła przepyszną zupkę bazującą na dyni. Po zjedzeniu wyszliśmy bodaj do apteki a ja krzątając się po pokoju wyczułem dziwny zapach. Zapytałem żony, co o tym sądzi - stwierdziła, że coś czuje ale to raczej woń owej dyni. Po powrocie zapach nadal wydawał się obecny...

Hmm, a gdyby tak coś rozebrać...?

Sytuacja nie dawała mi spokoju. Kilka dni wcześniej centralka od smart home (Dell Wyse 5060 opisywana już wcześniej), dostała spory upgrade w postaci dysku SSD. Gibabajty nieskalanej przestrzeni czekały na ochocze przyjęcie przeszczepu z 64-gigowego koleżki (też fajna przygoda, w każdym razie klon się udał ale miałem ciągotę już wtedy, by przejść na Ubuntu).

Nowo włożony dysk nie mieścił się w miejsce starego modułu (dysku bez obudowy, skrojonego na miarę pudełka Wyse). Maszyny te posiadają złącze sata 22-pin, więc z odpowiednim adapterem podłączyłem sprzęt Goodram CL100, który niestety nie ma zbyt solidnego mocowania w obudowie a po prostu trzyma się na przewodach. W każdym razie ułożone jest tak, że nic nie powinno nadmiarowo się przegrzewać.

Napisałem jakoś wtedy skrypt, który w pythonie zbierał dane o temperaturach APU. Średnio było około 60 stopni C, czyli nienajgorzej jak na sprzęt bez aktywnego chłodzenia, odpalający VMkę która gdzieś dodatkowo na CPU ogarnia CNN do wykrywania obiektów w potoku wideo z kamery.

I wtedy przygasł... wiedzieliśmy, że jego dni były policzone...

Żegnaj, UE39F5500. Wybacz, choć Twoje serce nadal biło, twój żar nie dawał już wystarczającego ciepła. Tak, padło podświetlenie matrycy... a wcześniej jeszcze pewnie jakiś element układu zasilającego ten cały wihajster.

Sprawa jasna, usmażył się telewizor. Jedyne co mi po nim zostało, to wspomnienia, kabel zasilający oraz minipanel przedni z sensorem IR oraz multifunkcyjnym dżojstikiem (śmiesznie się to pisze w nasszym języku, ktoś był bardzo kreatywny przekładając to jeden do jeden). 

W pociągu IC, aj si, I cee, I see...

Czasem tak bywa, że z nudów ludzie odkrywają różne rzeczy. 

Podczas jazdy pociągiem i zabawy w puplit zdalny, odkryłem, dzięki implementacji skryptu opisanego powyżej, że każdego dnia około godziny 16 następuje znaczny wzrost mocy CPU, pamięci i temperatur.

Zepsuty Component Store i codzienny fail instalacji KB4056892 z kodem 0x80073712 były przyczyną tego stanu. Reinstalacja Windowsa Enteprise niestety nie była możliwa, więc padła decyzja o przesiadce na Ubuntu. Musiałem ten Component Store widocznie popsuć, dając sobie ledwie radę na opisanym wyżej HDD 64GB. W każdym razie, jak to popsujecie, to nie wgracie praktycznie żadnej aktualizacji systemu Windows, o dotnetach nawet nie wspominając.

Ubuntu ale Ty mnie rozgrzałeś...

Pomyślał chipset K10 jak zabootował. Użytkownikowi też się udzieliło, bo całkiem przyjemnie się tego systemu używa. Wirtualna maszyna została postawiona, zostało przepisanie skryptu na Linuxa, by i tutaj odczytywać temperatury.


Siedem dyszek na patelni. Co go boli? Na Windowsie było chłodniej. Zużycie CPU wydaje się być niskie ale może skrypt coś niedomaga? Dopisałem liczenie średniej metryk, zoptymalizowałem niektóre rzeczy, w teorii powinno być lepiej.

Niestety to nie pomogło, lecz wykresy stały się bardziej wygładzone.

Przypadkowe zdarzenie sprowadziło ochłodzenie...

Analizując różne tematy na forach, stwierdziłem, że wymienię pastę termoprzewodzącą. Jednak jakimś cudem nawinął mi się wątek o tzw. governorach. Generalnie chodzi o skalowanie taktowania CPU w zależności od potrzebnej mocy obliczeniowej.

Bingo! Po instalacji auto-cpufreq jako usługi i ustawieniu governora na powersave, problem rozwiązał się a temperatury spadły poniżej wartości spotykanych w systemie Windows.


Zauważalnych problemów brak, poza tym, że maszyna wreszcie ochłonęła :)

Można jednak jeszcze inaczej...

Tryb powersave nie będzie zbyt dynamicznie skalować częstotliwości CPU, co może jednak dać się odczuć w postaci niższej wydajności. Znalazłem dużo lepsze rozwiązanie, korzystające z cpufrequtils (musimy go do instalować odpowiednią komendą).

Po instalacji wystarczy tylko przestawić governor w tryb ondemand:
echo 'GOVERNOR="ondemand"' | sudo tee /etc/default/cpufrequtils
sudo cpufreq-set -r -g ondemand
reboot

W trybie ondemand zapotrzebowanie na moc jest kompensowane dynamiczną zmianą zegara.

Komentarze