Przejdź do zawartości

🚚 Darmowa wysyłka od 350 zł

Biały uConsole z wysuniętą anteną leży na jasnym biurku, na ekranie odtwarzany film Big Buck Bunny na YouTube. Obok kwadratowy termometr pokojowy wskazuje 26,4 stopnia i 46 procent wilgotności.

uConsole z CM5 - test termiczny: czy throttluje bez dodatkowego chłodzenia?

Nie. W standardowej, zamkniętej obudowie uConsole, na fabrycznym thermopadzie, Compute Module 5 obciążony na wszystkich czterech rdzeniach przez 30 minut osiągnął szczytowo 62,2 °C i ani razu nie zszedł z taktowania. Zegar ARM utrzymał pełne 2400 MHz przez 99,7% czasu, a systemowy rejestr throttlingu przez całą 65-minutową sesję pokazywał 0x0.

To 18 stopni poniżej miękkiego progu ograniczania i 23 stopnie poniżej twardego. Jeśli ktoś powiedział ci, że przed uruchomieniem CM5 w uConsole musisz dołożyć riser, cieńszy pad albo radiator, to zalecenie nie ma pokrycia w pomiarach.

Biały uConsole z wysuniętą anteną leży na jasnym biurku, na ekranie odtwarzany film Big Buck Bunny na YouTube. Obok kwadratowy termometr pokojowy wskazuje 26,4 stopnia i 46 procent wilgotności.

Dlaczego to pytanie wciąż wraca

CM5 jest wyraźnie szybszy od CM4, obudowa uConsole jest zamknięta i chłodzona wyłącznie pasywnie, a ClockworkPi nigdy nie opublikowało żadnych danych termicznych. Lukę wypełniły więc fora. Wyszukiwarka podpowie ci dziś gotową odpowiedź, że CM5 „będzie throttlował pod dłuższym obciążeniem", że fabryczny thermopad jest „za gruby albo źle dopasowany", a społecznościowe poprawki sprowadzają temperaturę „do bezpiecznego zakresu 50-60 °C".

Nikt tego nie zmierzył. Jest film, są anegdoty, nie było ani jednego zestawu danych. Więc go zebraliśmy.

Pięć tez, pięć werdyktów

Teza krążąca po forach Werdykt
CM5 będzie throttlował pod dłuższym obciążeniem bez poprawy odprowadzania ciepła Obalona. 30 minut przy 100% na czterech rdzeniach, zero ograniczeń
Fabryczny thermopad nie wystarcza, trzeba go wymienić Obalona. Oryginalny pad z zestawu utrzymał układ 18 stopni poniżej progu ograniczania
Przy 100% CPU nieschłodzony CM5 przekracza 80 °C i grozi awaryjnym wyłączeniem Obalona. Szczyt 62,2 °C
Riser i pad 0,5 mm zbijają temperaturę pod obciążeniem do 50-60 °C Bezprzedmiotowa. Stock daje średnio 58,4 °C pod pełnym obciążeniem
Przełączenie governora na schedutil łagodzi skoki temperatury Tu niepotrzebne. Urządzenie pracowało na ondemand, czyli rzekomo gorszym ustawieniu, i mimo to nie throttlowało

Metodyka

Cały test jest powtarzalny. Skrypt logujący i surowe pliki CSV znajdziesz na końcu.

Sprzęt

  • Raspberry Pi Compute Module 5 Lite Rev 1.0, 8 GB RAM
  • ClockworkPi uConsole, obudowa fabryczna, zamknięta, oryginalny thermopad ClockworkPi, zero modyfikacji
  • Urządzenie na podkładce z zestawu, na biurku

Oprogramowanie

  • Debian GNU/Linux 12 (bookworm), jądro 6.12.94-v8-16k+
  • Governor CPU: ondemand - ustawienie fabryczne, nie zmieniane
  • Podświetlenie ekranu na maksimum (9/9)

Warunki

  • Temperatura otoczenia 26 °C (termometr pokojowy wskazywał 25,9-26,4 °C przez cały test)
  • Praca na baterii, zasilacz odpięty. Ładowanie pobiera 1,6 A i grzeje obudowę od środka, co zafałszowałoby pomiar. Bateria 99% na starcie, 68% na końcu.

Obciążenie

  • stress-ng --cpu 4 --cpu-method matrixprod w fazie procesorowej
  • YouTube 1080p w Chromium na pełnym ekranie, jedno pełne odtworzenie Big Buck Bunny (identyfikator YE7VzlLtp-4, Blender Foundation, Creative Commons) w fazie wideo

Próbkowanie

Co 5 sekund: temperatura układu, zegar ARM, napięcie rdzenia, vcgencmd get_throttled, obciążenie systemu, poziom baterii. Łącznie 773 próbki w 65 minut.

Najważniejszy jest tu rejestr get_throttled. Wykres temperatury pokazuje, jak gorący zrobił się układ; rejestr mówi, czy procesor faktycznie zwolnił i z jakiego powodu - podnapięcia, progu miękkiego czy twardego. Bez niego byłby to wykres. Z nim jest to odpowiedź.

Biały uConsole na jasnym biurku, na ekranie okno terminala z odczytami testu: temperatura 60 stopni, zegar ARM 2400 MHz, throttled 0x0, obciążenie 4,08, bateria 91 procent. Obok termometr pokojowy wskazuje 25,8 stopnia.

Wyniki

Faza Czas Średnia Szczyt Średni zegar ARM Throttling
Spoczynek 10 min 39,6 °C 40,8 °C 1541 MHz 0x0
100% CPU, 4 rdzenie 30 min 58,4 °C 62,2 °C 2398 MHz 0x0
Stygnięcie 15 min - 60,6 → 44,6 °C 1500 MHz 0x0
YouTube 1080p 10 min 47,7 °C 50,1 °C 1862 MHz 0x0

Wykres z dwoma panelami. Górny to temperatura układu w czasie: 40 stopni na spoczynku, plateau przy 60, szczyt 62,2, znacznie poniżej progów 80 i 85. Dolny to zegar ARM stojący na 2400 MHz przez całą fazę obciążenia.

Jak narasta temperatura pod pełnym obciążeniem

Czas 1 min 2 min 5 min 10 min 15 min 20 min 25 min 30 min
Temperatura 50,7 °C 52,4 °C 55,1 °C 57,9 °C 59,0 °C 60,6 °C 60,6 °C 60,6 °C

Dwie trzecie całego wzrostu dzieje się w pierwszych dwóch minutach. Krzywa osiąga 95% swojego maksimum po 11 minutach i od dwudziestej jest już płaska. To jest równowaga termiczna tego urządzenia: około 34 stopnie powyżej otoczenia pod pełnym obciążeniem syntetycznym.

Zachowanie zegara

W fazie procesorowej zegar ARM stał na 2400 MHz przez 99,7% próbek, przy średniej 2398 MHz. Nie ma opadania - a właśnie tak wygląda na wykresie trwały throttling.

Obciążenie było pełne: średnia z pola load average wyniosła 3,95 przy czterech rdzeniach, a 310 z 354 próbek pokazywało 3,9 lub więcej. Systemowy wskaźnik na pasku niezależnie raportował 100% użycia procesora.

Zrzut ekranu uConsole pod obciążeniem. W terminalu: temperatura 60,6 stopnia, zegar ARM 2400 MHz, napięcie 0,852 V, throttled 0x0, obciążenie 4,03. Wskaźnik na pasku pokazuje 61 stopni i 100 procent użycia procesora.
Dwudziesta siódma minuta pełnego obciążenia: 60,6 °C, pełne 2400 MHz, rejestr throttlingu 0x0, obciążenie 4,03 na czterech rdzeniach. Wskaźnik na pasku pokazuje 100% CPU i 61 °C.

Stygnięcie

12 stopni w pierwsze dwie minuty, poniżej 45 °C po dziesięciu. Aluminiowy tył obudowy robi swoje jako radiator.

Dekodowanie wideo

Dziesięć minut YouTube w 1080p dało średnio 47,7 °C, czyli około 8 stopni powyżej spoczynku i 11 poniżej fazy procesorowej. Zegar oscylował między 1600 a 2400 MHz, bo ondemand reagował na nierówne obciążenie dekodowaniem. Średnie obciążenie systemu wyniosło 0,79, czyli mniej niż jeden rdzeń z czterech. Oglądanie filmów na uConsole z CM5 jest termicznie bez znaczenia.

Zrzut ekranu uConsole z odtwarzaczem YouTube na pełnym ekranie. Trwa film Big Buck Bunny, widoczna scena z wiewiórką na gałęzi, obok lista proponowanych filmów.
Faza wideo: Big Buck Bunny w 1080p na pełnym ekranie, w przeglądarce Chromium.

Bateria

17 punktów procentowych w 30 minut pełnego obciążenia czterech rdzeni, co przekłada się na mniej więcej trzy godziny ciągłej pracy pod maksymalnym obciążeniem. W całej 65-minutowej sesji, razem z wideo, bateria zeszła z 99% na 68%.

Co to znaczy w praktyce

  • Kompilacja, długie sesje w terminalu, zadania w tle. Brak powodów termicznych, żeby ich unikać. Równowaga siedzi w okolicach 60 °C.
  • Odtwarzanie wideo. Poniżej 50 °C. Temat nie istnieje.
  • Retro gaming i emulacja. Lżejsze niż nasze obciążenie syntetyczne, więc z zapasem.
  • Czy potrzebujesz dodatkowego chłodzenia? Przy tych danych i tych zastosowaniach - nie.

Testowany zestaw to uConsole Kit RPI-CM5 8GB. Sam moduł, jeśli składasz uConsole samodzielnie albo przesiadasz się z CM4, to Raspberry Pi Compute Module 5 - CM5 8GB Lite.

Ograniczenia, czyli czego nie sprawdziliśmy

To ważne, by wziąć to pod uwagę.

  • Jedno urządzenie, jedna temperatura otoczenia. 26 °C w pokoju. Przy 35 °C w sierpniu dolicz różnicę - równowaga to delta ponad otoczenie, nie wartość bezwzględna.
  • Brak przebiegu porównawczego. Nie testowaliśmy z otwartą obudową, z riserem ani z cieńszym padem, więc nie orzekamy, czy te modyfikacje cokolwiek poprawiają - tylko tyle, że w tym egzemplarzu nie było czego poprawiać.
  • Obciążenie syntetyczne. stress-ng --cpu 4 jest trudniejsze dla procesora niż większość realnych zadań i nie obciąża GPU. Długotrwałe obciążenie graficzne może zachować się inaczej.
  • Konfiguracja fabryczna na każdym kroku. Governor ondemand, oryginalny pad, obudowa zamknięta, praca na baterii.

Surowe dane

Komplet plików CSV ze wszystkich czterech faz, skrypty i generator wykresu leżą na GitHubie: SAPSAN-CYBERSEC/uconsole-cm5-thermal-test. Dane i skrypty na licencji CC BY 4.0 - korzystaj, publikuj, buduj na tym. Jeśli powtórzysz ten test na swoim egzemplarzu, chętnie zobaczymy liczby, zwłaszcza przy wyższej temperaturze otoczenia.

Następny artykuł Pwnagotchi: hakerski Tamagotchi, który żywi się sieciami WiFi