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.

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 matrixprodw 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ź.

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 |

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.

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.

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 4jest 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.