This is my cpu info from Odroid HC1.
Architecture | armv7l
Temperature | 47’C : 116’F (Optimal temperature)
Governor | ondemand
Throttle up | 85% CPU usage
Current Freq Min Freq Max Freq
CPU0 | 300 MHz 200 MHz 1500 MHz
CPU1 | 200 MHz 200 MHz 1500 MHz
CPU2 | 200 MHz 200 MHz 1500 MHz
CPU3 | 200 MHz 200 MHz 1500 MHz
CPU4 | 2000 MHz 200 MHz 2000 MHz
CPU5 | 2000 MHz 200 MHz 2000 MHz
CPU6 | 2000 MHz 200 MHz 2000 MHz
CPU7 | 2000 MHz 200 MHz 2000 MHz
For CPUs 4-7 Current Freq is always 2000, however if I check manually I get lower number:
# cat /sys/devices/system/cpu/cpu5/cpufreq/cpuinfo_cur_freq
300000
Is it a bug of cpu tool?
AndrewZ
Yeah it is somewhat an issue of the CPU tool that it’s own initiation can cause the CPU frequencies to raise. I was already thinking of adding some sleep time before reading them, to they can lower again. Another approach is to reduce the load of the tool itself by skip loading our DietPi-Globals function and variables set. This is a task for DietPi v6.24.
However the tool should print out some info about this at the bottom as well.
Could be, but I was thinking that CPU4-CPU7 readings are just wrong, i.e. they are not even real ‘readings’.
AndrewZ
Why you think they are wrong?
2000 MHz current
200 MHz min
2000 MHz max
Just makes sense, doesn’t it?
Since current script load cannot be really reduced (I think bash by default uses as much as it can to simply finish as quickly as possible, in defined priority boarders of course), another idea to add a sleep of the throttle down duration just before reading the current frequencies.
MichaIng, I was probably wrong. I rechecked readings manually from another shell and they seem to match. Initially I was confused by the fact that the tool was always showing 2000 for the last 4 cores but manual readings for the same CPUs were lower.
Okay, yeah I observe the same. Loading the shell + env simply raises CPU usage for a short time and usually freq is raised then within 25ms.
So we indeed, if the values should be the idle ones, we need to wait for “throttle up time times sampling down factor” which is 25*80=2000ms=2s by default
.