According to documentation
vcgencmd get_throttled can inform about 4 states:
- arm frequency capped
- soft temperature limit active (from my understanding of this: non-existent in RPi 4B)
and their past presence. I decided to test thermals in my Raspberry Pi 4B (4GB). Before tests I do
sudo reboot. While running
stress-ng --cpu 0 --cpu-method fft (as here) I also run my bash script:
while : do sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq vcgencmd measure_temp vcgencmd get_throttled sleep 1 echo '' done
Before test I get sth like:
600000 temp=56.0'C throttled=0x0
Than while I run test I have:
1500000 temp=71.0'C throttled=0x0 [...] 1500000 temp=82.0'C throttled=0x20000 [Arm frequency capping has occurred] [...] 1500000 temp=83.0'C throttled=0x20002 [Arm frequency capping has occurred, Arm frequency capped] [...] 1500000 temp=84.0'C throttled=0x20000 [Arm frequency capping has occurred] 1500000 temp=82.0'C throttled=0x60002 [Arm frequency capping has occurred, Throttling has occurred, Arm frequency capped] [...]
0x60002 almost stays the same for the rest of the test. Once I managed to see:
1500000 temp=83.0'C throttled=0x60006
So here are my questions:
- What does it mean that "Arm frequency capped" even though I have full frequency?
- What is the difference between throttling and frequency cap? Why the second one appears much earlier?
- Why my frequency does not drop at any time of the test even though frequency capped and throttling is reported?